setXid() madness- November 11, 2005 Yesterday, I stumbled upon a very weird thing in glibc when tying to figure out why applications using gnome-vfs were hanging in the debugger. In multi-threaded applications, all functions in the setXid familty (ie. setuid(), seteuid(), setgid(), setegid()) are not implemented using a system call, but instead send a signal to the process and have the signal handler do the system call in each thread. The implementation of all these functions first checks entry 51 in the...http://primates.ximian.com/~martin/blog/entry_150.html |