diff options
Diffstat (limited to 'glougloud/glougloud.c')
-rw-r--r-- | glougloud/glougloud.c | 17 |
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"); +} |