On Friday, June 27, 2003 11:31 am, george goffe wrote: > Joe, > > If xfreee86 ignores the sigterm it's probably blocked > in some system call. As far as I know, that's how > processes ignore signals.
Actually, all it takes to ignore SIGTERM is: signal(SIGTERM, SIG_IGN); See signal(2) and sigaction(2). But I sincerely doubt XFree86 would do such a thing. I don't know whether or not the signal handler (be it application-provided or the system default) is called if the program is blocked in a system call. I'm also not sure how a program could be blocked in a system call, oblivious to signals. The documentation for functions like wait(2) explicitly say that they resume execution of the current process if a signal is delivered under certain reasonable conditions. What does strace say? The %CPU field in top includes time spent in the kernel on the process's behalf, correct? Maybe the XFree86 SIGTERM signal handler sets a flag for an event loop to catch. Just a wild guess... I'm trying to figure out why a program would not properly handle such a signal. Joe: It's fine to install X on a server, but you have to be extra careful about security if the server is exposed to the Internet. You're probably safe as you are, at least as safe as is possible with Red Hat, which probably isn't enough. :^) -- Andy Goth | [EMAIL PROTECTED] | http://ioioio.net/ End communication. _______________________________________________ XFree86 mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/xfree86

