From: Yu Watanabe Date: Thu, 25 Aug 2022 15:34:15 +0000 (+0900) Subject: udev: drop unnecessary calls of event_queue_start() X-Git-Tag: v252-rc1~342^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5fab6b7b18d0158c005a5bcf096face23377af72;p=thirdparty%2Fsystemd.git udev: drop unnecessary calls of event_queue_start() As the subsequent call of on_post() will call it if necessary. This also drop unnecessary call of event_source_disable() for killing idle workers, as the event source is disabled in event_queue_start(). --- diff --git a/src/udev/udevd.c b/src/udev/udevd.c index bbda0152503..028492721e5 100644 --- a/src/udev/udevd.c +++ b/src/udev/udevd.c @@ -1175,9 +1175,6 @@ static int on_uevent(sd_device_monitor *monitor, sd_device *dev, void *userdata) (void) event_queue_assume_block_device_unlocked(manager, dev); - /* we have fresh events, try to schedule them */ - event_queue_start(manager); - return 1; } @@ -1244,9 +1241,6 @@ static int on_worker(sd_event_source *s, int fd, uint32_t revents, void *userdat event_free(worker->event); } - /* we have free workers, try to schedule events */ - event_queue_start(manager); - return 1; } @@ -1472,10 +1466,6 @@ static int on_inotify(sd_event_source *s, int fd, uint32_t revents, void *userda assert(manager); - r = event_source_disable(manager->kill_workers_event); - if (r < 0) - log_warning_errno(r, "Failed to disable event source for cleaning up idle workers, ignoring: %m"); - l = read(fd, &buffer, sizeof(buffer)); if (l < 0) { if (ERRNO_IS_TRANSIENT(errno)) @@ -1535,7 +1525,6 @@ static int on_sigchld(sd_event_source *s, const siginfo_t *si, void *userdata) { Manager *manager = ASSERT_PTR(worker->manager); sd_device *dev = worker->event ? ASSERT_PTR(worker->event->dev) : NULL; EventResult result; - int r; assert(si); @@ -1571,16 +1560,6 @@ static int on_sigchld(sd_event_source *s, const siginfo_t *si, void *userdata) { worker_free(worker); - /* we can start new workers, try to schedule events */ - event_queue_start(manager); - - /* Disable unnecessary cleanup event */ - if (hashmap_isempty(manager->workers)) { - r = event_source_disable(manager->kill_workers_event); - if (r < 0) - log_warning_errno(r, "Failed to disable event source for cleaning up idle workers, ignoring: %m"); - } - return 1; }