[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gnustep-cvs] r23144 - in /libs/back/trunk: ChangeLog Source/x11/XGS
Re: [Gnustep-cvs] r23144 - in /libs/back/trunk: ChangeLog Source/x11/XGServer.m
Fri, 7 Jul 2006 20:04:47 +0100
On 7 Jul 2006, at 19:28, David Ayers wrote:
Shut down cleanly on receipt of SIGTERM
I'm not sure if we should instead add an NSInvocation of terminate: to
the current or even the main run loop. Calling terminate: in the
handler seems almost a bit more dangerous than killing the process
don't really know in which state we are when terminate: may start
potentially inconsistent data...
Good idea ... while the terminate: method implementation should
really be responsible for ensuring that it shuts down cleanly, it's
certainly true that a signal could hit a delicate point and cause
Probably the only way to be really safe would be to add a mechanism
to NSRunLoop to handle this ... such that a signal handler can set
some value that the run loop would know how to deal with. Unless the
run loop and signal mechanisms cooperate there is always going to be
a chance that truing to manipulate the run loop within a signal
handler could cause problems.
I'm also considering whether it would be wise to remove the handler
during the handling.
Perhaps blocking SIGTERM rather than just removing the handler would