(Sorry for thread breakage, I'm not actually subscribed but commenting based on the archive.)
On Thu Mar 13 2003, 02:11:50 CST Ove Kaaven wrote:
Yes, they all support what I'm saying: a non-root process cannot increase its scheduling priority (in the common meaning of "priority", not the inversed sense that renice and setpriority use, of course, if that wasn't obvious).
Actually, at least Linux has some capability support, and if the Wine process would by some means be set up to receive CAP_SYS_NICE, it could manipulate priorities at will. Unfortunately, I don't think eg. the capability filesystem support is at place currently, so this might take some tweaking. (I'm not sure if eg. a suid root wrapper that would just exec wine with normal user priviledges and give it CAP_SYS_NICE would work.) This solution also is obviously limited to systems supporting CAP_SYS_NICE.
Another alternative would be to make a suitably authorized (root or CAP_SYS_NICE) priority switching server, which could respond to spesifically authorized priority switch requests. A bit of a kludge, yes.
Of course, any solution that gives user processes access to setpriority() is potentially dangerous, but at least the dangers would be limited, unlike with running Wine as root.