From: Yu Watanabe Date: Sun, 25 Nov 2018 06:04:26 +0000 (+0900) Subject: udevd: do not set buffer size if the socket is passed from pid1 X-Git-Tag: v240~218^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=986ab0d2dc161dfa026e8fc7a609f9efb8cb4397;p=thirdparty%2Fsystemd.git udevd: do not set buffer size if the socket is passed from pid1 Before c4b69e990f962128cc6975e36e91e9ad838fa2c4, if the socket fd is passed from pid1, `udev_monitor_set_receive_buffer_size()` (now it is a wrapper of `sd_device_monitor_set_receive_buffer_size()`) was not called. Let's preserve the original logic. --- diff --git a/src/udev/udevd.c b/src/udev/udevd.c index 6eacfe811f6..aeec7fa77c5 100644 --- a/src/udev/udevd.c +++ b/src/udev/udevd.c @@ -1629,7 +1629,8 @@ static int manager_new(Manager **ret, int fd_ctrl, int fd_uevent, const char *cg if (r < 0) return log_error_errno(r, "Failed to initialize device monitor: %m"); - (void) sd_device_monitor_set_receive_buffer_size(manager->monitor, 128 * 1024 * 1024); + if (fd_uevent < 0) + (void) sd_device_monitor_set_receive_buffer_size(manager->monitor, 128 * 1024 * 1024); /* unnamed socket from workers to the main daemon */ r = socketpair(AF_LOCAL, SOCK_DGRAM|SOCK_CLOEXEC, 0, manager->worker_watch);