From 2cba1d3753d56322617c671cb4e5d3777eb0a5ef Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Wed, 2 Aug 2023 01:14:04 +0900 Subject: [PATCH] udev: allow to set the maximum number of worker process to 0 In that case, the maximum is calculated based on the system resources. --- src/udev/udev-manager.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/udev/udev-manager.c b/src/udev/udev-manager.c index 676e97a7f3..6653de6b45 100644 --- a/src/udev/udev-manager.c +++ b/src/udev/udev-manager.c @@ -947,7 +947,7 @@ static int on_ctrl_msg(UdevCtrl *uctrl, UdevCtrlMessageType type, const UdevCtrl break; } case UDEV_CTRL_SET_CHILDREN_MAX: - if (value->intval <= 0) { + if (value->intval < 0) { log_debug("Received invalid udev control message (SET_MAX_CHILDREN, %i), ignoring.", value->intval); return 0; } @@ -955,6 +955,9 @@ static int on_ctrl_msg(UdevCtrl *uctrl, UdevCtrlMessageType type, const UdevCtrl log_debug("Received udev control message (SET_MAX_CHILDREN), setting children_max=%i", value->intval); manager->children_max = value->intval; + /* When 0 is specified, determine the maximum based on the system resources. */ + manager_set_default_children_max(manager); + notify_ready(manager); break; case UDEV_CTRL_PING: -- 2.25.1