service: fixup ExecStop for socket-activated shutdown (#4120)
authorKyle Russell <bkylerussell@gmail.com>
Sat, 10 Sep 2016 05:55:36 +0000 (01:55 -0400)
committerEvgeny Vereshchagin <evvers@ya.ru>
Sat, 10 Sep 2016 05:55:36 +0000 (08:55 +0300)
Previous fix didn't consider handling multiple ExecStop commands.

src/core/service.c

index 57f8d90..99a7039 100644 (file)
@@ -1261,8 +1261,7 @@ static int service_spawn(
 
                         /* ENOTCONN is legitimate if the endpoint disappeared on shutdown.
                          * This connection is over, but the socket unit lives on. */
-                        if (r != -ENOTCONN ||
-                            (c != s->exec_command[SERVICE_EXEC_STOP] && c != s->exec_command[SERVICE_EXEC_STOP_POST]))
+                        if (r != -ENOTCONN || !IN_SET(s->control_command_id, SERVICE_EXEC_STOP, SERVICE_EXEC_STOP_POST))
                                 return r;
                 }