summaryrefslogtreecommitdiffstats
path: root/plug
diff options
context:
space:
mode:
Diffstat (limited to 'plug')
-rw-r--r--plug/hotplug.c6
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);