Roy Smith <r...@panix.com> wrote: > In article <gvb8fn$7g...@lust.ihug.co.nz>, > Lawrence D'Oliveiro <l...@geek-central.gen.new_zealand> wrote:
>> The right thing to do is try to ensure that all your connections are >> properly closed at shutdown. That may not be enough (if your server crashes >> due to bugs), so the other thing you need to do is retry the socket open, >> say, at 30-second intervals, until it succeeds. > That may be a reasonable thing to do for production code, but when you're > building and debugging a server, it's a real pain to not be able to restart > it quickly whenever you want (or need) to. Speaking as a sysadmin, running applications for production, programs not using SO_REUSEADDR should be taken out and shot. You *can't* ensure that TCP connections are "properly closed". For example, a *client* crashing, or otherwise becoming unreachable, will leave TCP connections unclosed, no matter what you do. Not using SO_REUSEADDR means forcing a service interruption of half an hour (IIRC) if for some reason the service must be restarted, or having to reboot the entire machine. No thanks. I have been in that situation. -- Thomas Bellman, Lysator Academic Computer Club, Linköping University "Never let your sense of morals prevent you ! Sweden ; +46-13 177780 from doing what is right." -- Salvor Hardin ! bell...@lysator.liu.se
-- http://mail.python.org/mailman/listinfo/python-list