aboutsummaryrefslogtreecommitdiffstats
path: root/glougloud/glougloud.c
diff options
context:
space:
mode:
Diffstat (limited to 'glougloud/glougloud.c')
-rw-r--r--glougloud/glougloud.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/glougloud/glougloud.c b/glougloud/glougloud.c
index 6c1960d..4d2f211 100644
--- a/glougloud/glougloud.c
+++ b/glougloud/glougloud.c
@@ -50,6 +50,8 @@ struct user {
static void imsgev_server(struct imsgev *, int, struct imsg *);
static void imsgev_user(struct imsgev *, int, struct imsg *);
+static void imsgev_server_needfd(struct imsgev *);
+static void imsgev_user_needfd(struct imsgev *);
struct server_proc *srv_proc;
struct user_proc *usr_proc;
@@ -256,7 +258,7 @@ main(int argc, char **argv)
socketpair_prepare(srv_proc->fd);
srv_proc->pid = server_init(srv_proc->fd);
close(srv_proc->fd[1]);
- imsgev_init(&srv_proc->iev, srv_proc->fd[0], NULL, imsgev_server);
+ imsgev_init(&srv_proc->iev, srv_proc->fd[0], NULL, imsgev_server, imsgev_server_needfd);
pcap = my_pcap_open_live(PCAP_INTERFACE, PCAP_SNAPLEN, 1, PCAP_TO, errbuf, -1, 0);
if (pcap == NULL)
@@ -274,7 +276,7 @@ main(int argc, char **argv)
socketpair_prepare(usr_proc->fd);
usr_proc->pid = user_init(usr_proc->fd, pcap);
close(usr_proc->fd[1]);
- imsgev_init(&usr_proc->iev, usr_proc->fd[0], NULL, imsgev_user);
+ imsgev_init(&usr_proc->iev, usr_proc->fd[0], NULL, imsgev_user, imsgev_user_needfd);
signal_set(&ev_sigint, SIGINT, sig_handler, NULL);
signal_set(&ev_sigterm, SIGTERM, sig_handler, NULL);
@@ -472,3 +474,14 @@ imsgev_user(struct imsgev *iev, int code, struct imsg *imsg)
}
}
+static void
+imsgev_server_needfd(struct imsgev *iev)
+{
+ fatal("imsgev_server_needfd");
+}
+
+static void
+imsgev_user_needfd(struct imsgev *iev)
+{
+ fatal("imsgev_user_needfd");
+}