bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#43643: start shepherd when a previous instance was killed by kill -9


From: gfleury
Subject: bug#43643: start shepherd when a previous instance was killed by kill -9
Date: Sun, 27 Sep 2020 18:09:21 +0000

hello,

27 septembre 2020 16:29 "Danny Milosavljevic" <dannym@scratchpost.org> a écrit:

> Hello,
> 
> On Sun, 27 Sep 2020 10:00:03 +0200
> gfleury <gfleury@disroot.org> wrote:
> 
>> it throws a error:
>> ---------------------------------------------------------
>> 3 (primitive-load "/home/gfleury/prod/shepherd/./shepherd")
>> In shepherd.scm:
>> 56:14 2 (main . _)
>> 49:6 1 (open-server-socket _)
>> In unknown file:
>> 0 (bind #<input-output: socket 16> #(1 "/run/user/1000?") #)
>> 
>> ERROR: In procedure bind:
>> In procedure bind: Address already in use
>> ---------------------------------------------------------
>> 
>> something like this patch can fix it.
> 
> Please don't do it that way.
> 
> Shepherd has to be able to ascertain that it is not running yet before
> starting yet another instance in parallel.
> 
i missed that part.

> I don't like PID and socket files either--but it's just what we have
> available.
> 
> Maybe find out who is at the other side of the socket
> (connect and then use getpeername on the socket or something ?
> maybe even just trying to connect fails, which would be good for this).
> 
> I think UNIX domain sockets are made in a way that it doesn't matter
> whether the server or the client connects first, so even that would
> probably not be reliable.
> 
> So maybe just live with having to remove the socket file yourself.
> 
> I'm open to other suggestions that are safe that accomplish the same goal.

yes a better solution is needed.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]