udev: allow to set the maximum number of worker process to 0

In that case, the maximum is calculated based on the system resources.
This commit is contained in:
Yu Watanabe
2023-08-02 01:14:04 +09:00
parent ce5ddbc465
commit 2cba1d3753

View File

@@ -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: