[systemd-devel] socket unit refusing connection when JOB_STOP is pending

Moravec, Stanislav (ERT) stanislav.moravec at hpe.com
Wed May 31 13:43:30 UTC 2017


FYI:
I tried to simply bypass the pending job check:
+int ignore_stop_pending = true;
static void socket_enter_running(Socket *s, int cfd) {
...
-        if (unit_stop_pending(UNIT(s))) {
+        if (!ignore_stop_pending && unit_stop_pending(UNIT(s))) {

But, as expected, it's not as that easy - the startup of the service fails to get queued.

...
May 31 16:07:30 pra0097 systemd[1]: Stopping Test Script to connect auth during shutdown...
May 31 16:07:30 pra0097 systemd[3830]: Executing: /usr/bin/connect_authd
May 31 16:07:30 pra0097 connect_authd[3830]: Wed May 31 16:07:30 CEST 2017
May 31 16:07:31 pra0097 connect_authd[3830]: COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
May 31 16:07:31 pra0097 connect_authd[3830]: systemd   1 root   46u  IPv6  20535      0t0  TCP *:auth (LISTEN)
May 31 16:07:31 pra0097 systemd[1]: auth.socket failed to queue service startup job (Maybe the service file is missing or not a non-template unit?): Transaction is destructive.
May 31 16:07:31 pra0097 systemd[1]: Closed Authd Activation Socket.
May 31 16:07:31 pra0097 systemd[1]: Unit auth.socket entered failed state.
May 31 16:09:00 pra0097 systemd[1]: authtest.service stopping timed out. Terminating.
...

Stan


More information about the systemd-devel mailing list