diff options
author | Laurent Ghigonis <laurent@p1sec.com> | 2012-07-22 01:08:34 +0200 |
---|---|---|
committer | Laurent Ghigonis <laurent@p1sec.com> | 2012-07-22 01:08:34 +0200 |
commit | d6d5ea47494b569882c032432dde23ec2505c631 (patch) | |
tree | 574e96066540b86f2c58dbaf1bd5bc9d073366a2 /glougloud/server.c | |
parent | fix imcompatibility between imsg and imsgev ! (diff) | |
download | glouglou-d6d5ea47494b569882c032432dde23ec2505c631.tar.xz glouglou-d6d5ea47494b569882c032432dde23ec2505c631.zip |
follow imsgev changes
Diffstat (limited to 'glougloud/server.c')
-rw-r--r-- | glougloud/server.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/glougloud/server.c b/glougloud/server.c index c275234..3446f6e 100644 --- a/glougloud/server.c +++ b/glougloud/server.c @@ -38,6 +38,7 @@ struct user { }; static void imsgev_main(struct imsgev *, int, struct imsg *); +static void imsgev_main_needfd(struct imsgev *); static void receive(int, short, void *); static void ev_usrtimer(int, short, void *); @@ -79,7 +80,7 @@ server_init(int fd[2]) signal(SIGPIPE, SIG_IGN); srv = xmalloc(sizeof(struct server)); - imsgev_init(&srv->iev, fd[1], NULL, &imsgev_main); + imsgev_init(&srv->iev, fd[1], NULL, imsgev_main, imsgev_main_needfd); srv->time = time(NULL); event_set(&srv->ev, net_socket, EV_READ|EV_PERSIST, receive, NULL); @@ -150,7 +151,7 @@ imsgev_main(struct imsgev *iev, int code, struct imsg *imsg) case IMSGEV_EREAD: case IMSGEV_EWRITE: case IMSGEV_EIMSG: - fatal("imsgev read/write error"); + fatal("server: imsgev read/write error (%d)", code); /* NOTREACHED */ break; case IMSGEV_DONE: @@ -161,6 +162,12 @@ imsgev_main(struct imsgev *iev, int code, struct imsg *imsg) } static void +imsgev_main_needfd(struct imsgev *iev) +{ + fatal("server: imsgev_main_needfd"); +} + +static void receive(int fd, short why, void *data) { struct sockaddr_in remote; |