I rewrote ZRS's Windows service code to use the new named events set by current versions of Zope's nt_svcutils/service.py. Overall, this works really slick, but with a glitch: the ZRS log files suggest that the "signal" events never get set when Windows is shutting down, they only fire when the user explicitly stops/restarts a ZRS service. That isn't good for ZRS -- it's managing a database, and really wants a chance to flush in-memory data structures to disk, no matter how the service gets stopped. I don't think it's "a feature" to skip clean shutdown for a Zope service either. So, best guesses (please scream where I'm wrong): - This is because service.py doesn't define a SvcShutdown method, just a SvcStop method, - It's a good idea to add a SvcShutdown method to service.py. - It would suffice to add SvcShutdown = SvcStop to service.py. If nobody disagrees (or even if everyone disagrees except Mark <wink>), I'll add that to the various Zope branches.