Ressurecting a bit of an old thread: > From: Chris McDonough [mailto:[EMAIL PROTECTED] > Sent: Wednesday, 4 August 2004 11:19 PM > Subject: Re: [Zope-dev] Possible Windows Service improvements. ...
> I'm a Windows signal idiot. I was too. I think I understand them a little better now after having played with both the signal module, and the win32 specific functions. > Is there a way that we can make the Zope > process capture Windows signals and when the Windows equivalent of > SIGTERM is sent to the process to shut it down "cleanly"? This is how > it works on UNIX, but we circumvent trying to listen for signals on > Windows entirely at startup. There are all sorts of hooks for "clean" > shutdown now that we can coopt if we can make the process capture a > signal. I've uploaded a patch to http://collector.zope.org/Zope/1527. I'd appreciate any comments - specifically about if I have hooked the appropriate place. My first reaction was that the correct hooks were in SignalHandler.py and Signals.py - however, Windows signals really aren't suitable for hooking there - only SIGINT is supported. Trying to twist code into pretending signals on Windows worked like Linux ended up with a bit of a mess. Hacking Lifetime.py was the cleanest solution. > Note that the UNIX environment has a lot of additional niceties due to > responses to signals (like logfile rotation) that Windows doesn't now, > which tends to have the effect of relegating Windows to a second-class > platform on which to run a production Zope instance. I guess the correct way to do that gets back to the other issue this thread raised - cross-platform startup/error reporting and command handling. I fear that will take a little longer to implement. I hope to break this up into 2 tasks: * Give windows reliable shutdown behaviour now. * Try and develop a basis for reliable cross-platform parent/child notification and control. I think the first would allow us to gracefully shutdown services - at the moment the child process is immediately terminated! The second would give us better startup and error recovery, but that seems less important to me. I hope to submit a patch for the service code shortly. Mark _______________________________________________ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )