core: don't watch for socket events when service is in SERVICE_STOP
authorLennart Poettering <lennart@poettering.net>
Wed, 11 Feb 2015 20:25:30 +0000 (21:25 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 11 Feb 2015 20:25:30 +0000 (21:25 +0100)
If a service has an ExecStop= program that uses the socket the service was
activated by to tell it to terminate, then that should not be used as
trigger to start the service again.

http://lists.freedesktop.org/archives/systemd-devel/2015-February/028058.html

src/core/socket.c

index d3dabc8..48c43a2 100644 (file)
@@ -2603,10 +2603,6 @@ static void socket_trigger_notify(Unit *u, Unit *other) {
                 socket_notify_service_dead(s, se->result == SERVICE_FAILURE_START_LIMIT);
 
         if (se->state == SERVICE_DEAD ||
-            se->state == SERVICE_STOP ||
-            se->state == SERVICE_STOP_SIGTERM ||
-            se->state == SERVICE_STOP_SIGKILL ||
-            se->state == SERVICE_STOP_POST ||
             se->state == SERVICE_FINAL_SIGTERM ||
             se->state == SERVICE_FINAL_SIGKILL ||
             se->state == SERVICE_AUTO_RESTART)