shutDown: already provides a boolean indicating whether a quit is about to occur or not. I suppose any code is welcome not to cleanUp properly if it's not a quitting situation.. What feels wrong to me would be to save "garbage" (what will be unusable sockets, etc.) into the saved image.
occurance would clobber all sockets, all web users, all database connections,
Which is why first-class connections / sockets should be used, which don't depend on their underlying physical socket to be always connected. This is what Magma does. A socket can get disconnected at any time for a variety of reasons, not just an image save/shutdown. I think the software should, transparently to the user, reestablish connections lazily, making saving the image a non-issue. - Chris