From: Yu Watanabe Date: Tue, 29 Mar 2022 03:14:40 +0000 (+0900) Subject: udev: do not call sd_event_source_disable_unref() in workers for event sources create... X-Git-Tag: v251-rc1~15 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f777e745a7966ea52ef29f9e4edfdd16874cfe86;p=thirdparty%2Fsystemd.git udev: do not call sd_event_source_disable_unref() in workers for event sources created by the main process Fixes a bug introduced by 9612da361a825d70a9fd392f3ee5a53bf8896887. --- diff --git a/src/udev/udevd.c b/src/udev/udevd.c index 67d7733be2d..e39f99c1529 100644 --- a/src/udev/udevd.c +++ b/src/udev/udevd.c @@ -210,8 +210,10 @@ DEFINE_PRIVATE_HASH_OPS_WITH_VALUE_DESTRUCTOR(worker_hash_op, void, trivial_hash static void manager_clear_for_worker(Manager *manager) { assert(manager); - manager->inotify_event = sd_event_source_disable_unref(manager->inotify_event); - manager->kill_workers_event = sd_event_source_disable_unref(manager->kill_workers_event); + /* Do not use sd_event_source_disable_unref() here, as this is called by both workers and the + * main process. */ + manager->inotify_event = sd_event_source_unref(manager->inotify_event); + manager->kill_workers_event = sd_event_source_unref(manager->kill_workers_event); manager->event = sd_event_unref(manager->event);