Increase buffers for hotplug and cmdline for UML
[project/procd.git] / plug / hotplug.c
index 07abaf8..075062b 100644 (file)
@@ -453,6 +453,7 @@ void hotplug_last_event(uloop_timeout_handler handler)
 void hotplug(char *rules)
 {
        struct sockaddr_nl nls;
+       int nlbufsize = 512 * 1024;
 
        rule_file = strdup(rules);
        memset(&nls,0,sizeof(struct sockaddr_nl));
@@ -469,6 +470,11 @@ void hotplug(char *rules)
                exit(1);
        }
 
+       if (setsockopt(hotplug_fd.fd, SOL_SOCKET, SO_RCVBUFFORCE, &nlbufsize, sizeof(nlbufsize))) {
+               ERROR("Failed to resize receive buffer: %s\n", strerror(errno));
+               exit(1);
+       }
+
        json_script_init(&jctx);
        queue_proc.cb = queue_proc_cb;
        uloop_fd_add(&hotplug_fd, ULOOP_READ);