From 7f4c5a1fe789ab6f13ae0edab77624ec435fc146 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Thu, 30 Sep 2021 13:25:54 -0400 Subject: [PATCH] launch_daemon: Do not return errors from RegisterExternalEvent. We will pick up events that have no match later on, and if we return an error here, it will prevent the job from being initialized, which we definitely do not want. Fixes #17291. --- src/servers/launch/LaunchDaemon.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/servers/launch/LaunchDaemon.cpp b/src/servers/launch/LaunchDaemon.cpp index 0c7dd8c428..8104c2b6bf 100644 --- a/src/servers/launch/LaunchDaemon.cpp +++ b/src/servers/launch/LaunchDaemon.cpp @@ -438,7 +438,13 @@ LaunchDaemon::RegisterExternalEvent(Event* event, const char* name, break; } } - return status; + + TRACE("Register external event '%s': %" B_PRId32 "\n", name, status); + + // Even if we failed to find a matching source, we do not want to return an error, + // as that will be propagated up the chain and prevent this job from being instantiated. + // Jobs will be re-scanned later for unregistered external events. + return B_OK; }