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

Reply via email to