--- Begin Message ---
Subject: |
Shepherd won't close socket on exit |
Date: |
Sun, 10 Feb 2019 01:26:55 +0530 |
Shepherd does not close the socket when exiting with `herd stop root`.
"bind: Address already in use"
~$ rm /run/user/1000/shepherd/socket
~$ shepherd
Service root has been started.
~$ herd status
error: connect: /run/user/1000/shepherd/socket: Connection refused
~$ shepherd
Service root has been started.
~$ Backtrace:
3 (primitive-load "/run/current-system/profile/bin/shepherd")
In shepherd.scm:
250:24 2 (main . _)
48:6 1 (open-server-socket _)
In unknown file:
0 (bind #<input-output: socket 13> #(1
"/run/user/1000/shepherd/socket") #)
ERROR: In procedure bind:
In procedure bind: Address already in use
C-c C-c
~$
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#34407: [PATCH] shepherd: Delete the socket file upon exit. |
Date: |
Mon, 08 Apr 2019 10:58:57 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Hello,
address@hidden (宋文武) skribis:
> Yes, I have the 'rm /run/user/1000/shepherd/socket' workaround in my session
> script too...
I never had to do that because /run is wiped at boot time, like Danny
wrote.
> According to 'man 2 bind', the socket pathname should be deleted when no
> longer required, so a patch to fix this bug:
>
> From f171f6adb2fc6ee3bf4d25378c2e7bba109b43d8 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <address@hidden>
> Date: Sun, 17 Feb 2019 11:27:28 +0800
> Subject: [PATCH] shepherd: Delete the socket file upon exit.
>
> Fixes <https://bugs.gnu.org/34407>.
>
> * modules/shepherd.scm (call-with-server-socket): New procedure.
> (main): Use it instead of 'open-server-socket'.
Pushed, thanks!
Ludo’.
--- End Message ---