diff options
author | Nicholas Marriott <nicm@openbsd.org> | 2012-03-17 18:24:07 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@openbsd.org> | 2012-03-17 18:24:07 +0000 |
commit | d3c842d3678e52275c944123f00a2a974eb5d965 (patch) | |
tree | d0b234a4364504e17f53d90aa3e635134c0f01cc /server-fn.c | |
parent | a597e3546cf667c2db91aea5545d2cb2125366f5 (diff) |
Check event_initialized before event_del if event may not have been set
up; libevent2 complains about this. Reported by Moriyoshi Koizumi.
Diffstat (limited to 'server-fn.c')
-rw-r--r-- | server-fn.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/server-fn.c b/server-fn.c index b9b7b714..66298571 100644 --- a/server-fn.c +++ b/server-fn.c @@ -453,7 +453,8 @@ server_set_identify(struct client *c) tv.tv_sec = delay / 1000; tv.tv_usec = (delay % 1000) * 1000L; - evtimer_del(&c->identify_timer); + if (event_initialized (&c->identify_timer)) + evtimer_del(&c->identify_timer); evtimer_set(&c->identify_timer, server_callback_identify, c); evtimer_add(&c->identify_timer, &tv); @@ -491,7 +492,8 @@ server_update_event(struct client *c) events |= EV_READ; if (c->ibuf.w.queued > 0) events |= EV_WRITE; - event_del(&c->event); + if (event_initialized(&c->event)) + event_del(&c->event); event_set(&c->event, c->ibuf.fd, events, server_client_callback, c); event_add(&c->event, NULL); } |