diff options
Diffstat (limited to 'plug')
-rw-r--r-- | plug/hotplug.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/plug/hotplug.c b/plug/hotplug.c index 07abaf8..075062b 100644 --- a/plug/hotplug.c +++ b/plug/hotplug.c @@ -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); |