X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fsocket.c;h=e386c7f2971c7cbe9cd0c4749bc9ee80a05c506b;hb=cd3f8b7ddb052ab5e4eab420968bae689db3899a;hp=3bb8862ca9bb39e1a939929f912803585ec2f8ba;hpb=9a57c62944258c750d80bca4fe56de4dbab46d67;p=elogind.git diff --git a/src/socket.c b/src/socket.c index 3bb8862ca..e386c7f29 100644 --- a/src/socket.c +++ b/src/socket.c @@ -760,8 +760,9 @@ static int socket_open_fds(Socket *s) { if ((r = socket_instantiate_service(s)) < 0) return r; - if ((r = label_get_socket_label_from_exe(s->service->exec_command[SERVICE_EXEC_START]->path, &label)) < 0) - return r; + if (s->service && s->service->exec_command[SERVICE_EXEC_START]) + if ((r = label_get_socket_label_from_exe(s->service->exec_command[SERVICE_EXEC_START]->path, &label)) < 0) + return r; know_label = true; } @@ -1188,6 +1189,8 @@ static void socket_enter_running(Socket *s, int cfd) { /* We don't take connections anymore if we are supposed to * shut down anyway */ if (unit_pending_inactive(UNIT(s))) { + log_debug("Suppressing connection request on %s since unit stop is scheduled.", s->meta.id); + if (cfd >= 0) close_nointr_nofail(cfd); else {