On Fri, Feb 06, 2004 at 03:34:04PM -0800, Joe Emenaker wrote: > Here's a wierd one. > > Our SpamAssassin daemon crashed and, when I tried to restart it, I > got: > > Could not create INET socket: Address already in use > IO::Socket::INET: Address already in use > > ... and I can't find any running spamd, so it looks like it's a stuck > socket. > > I haven't seen one of these for a long time but, in the past, we'd > have to reboot the machine in order to fix it. > > Is there a better way, these days? Can I forcibly "un-use" the port? > If not, can I, at the least, find out what process ID's the kernel > thinks have it open?
It will time out after a while. To prevent it happening again, find out how to get perl to call setsockopt with the SO_REUSEADDR option. A quick look at "perldoc IO::Socket::INET" reveals: In addition to the key-value pairs accepted by IO::Socket, "IO::Socket::INET" provides. [...] ReuseAddr Set SO_REUSEADDR before binding [...] I am not at all familiar with the SpamAssassin code, but see if you can figure out where to add in the "ReuseAddr => 1" option, if it's not there already. If it is there already, I don't know what the problem is. -- Michael Wood <[EMAIL PROTECTED]> -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]