David McCuskey writes:
i've been using zope for about 6 months now and have had this re- occurring problem with it randomly crashing. *worse part about it is that the port isn't released when it crashes*. this means we can't use the same startup script to get zope back up, can't make any cron jobs to check for availability , and must do it manually. The TCP spec mandates this behaviour:
When a TCP socket is open when the serving process goes down, the port must not be reused until the TCP packet lifetime expires. Motivation: if this would not be the case, then a new serving process could receive messages that have been sent to its predecessor. It would really been confused. If you know, what you are doing, you can disable this feature. There are socket options for this. I think, they are named "SO_REUSEADDR" and "SO_NOLINGER". See the socketoption documentation for details. Dieter