Listening UNIX socket is not deleted when stopping Unicorn?

Eric Wong normalperson at yhbt.net
Thu Dec 31 14:42:45 EST 2009


Iñaki Baz Castillo <ibc at aliax.net> wrote:
> El Lunes, 28 de Diciembre de 2009, Eric Wong escribió:
> > > Hi, I listen into an UNIX socket but after stopping Unicorn the socket
> > > is not removed. Is it the expected behavior?
> > 
> > Yes.
> > 
> > Otherwise it's subject to race conditions where the socket
> > owned by a new/replacement process gets its socket unlinked.
> > 
> > Currently Unicorn unlinks any existing socket on the FS before
> > attempting to bind to it for the following reasons:
> > 
> > * I consider this less error-prone, especially when people aren't
> >   storing sockets in a directory that's cleared on reboots (like /tmp).
> > 
> > * This can also be desirable behavior since it can be used to do
> >   transparent upgrades/binary replacements in cases where it's less
> >   convenient to use USR2+QUIT,  if you're switching between Ruby
> >   installations for example.
> 
> Hi, just a question:
> 
> Then is it totaly safe to delete the socket before starting Unicorn? 
> I expect the answer is yes as Unicorn does it.

Yes.

-- 
Eric Wong


More information about the mongrel-unicorn mailing list