about summary refs log tree commit diff
path: root/libevent/event.c
diff options
context:
space:
mode:
authorRichard Nyberg <rnyberg@murmeldjur.se>2006-11-07 20:04:15 +0000
committerRichard Nyberg <rnyberg@murmeldjur.se>2006-11-07 20:04:15 +0000
commitba4efecb6df9cdc5cfaba42b8af75ea4edcc7517 (patch)
treea566fb244ec34c7f4b0ac69ecab235f135cd4867 /libevent/event.c
parent5ccf414cbff49636a365a6bce2d2641be90ea412 (diff)
downloadbtpd-ba4efecb6df9cdc5cfaba42b8af75ea4edcc7517.tar.gz
btpd-ba4efecb6df9cdc5cfaba42b8af75ea4edcc7517.zip
Bring in fixes from libevent trunk.
Diffstat (limited to 'libevent/event.c')
-rw-r--r--libevent/event.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libevent/event.c b/libevent/event.c
index c7ece90..b5bda5c 100644
--- a/libevent/event.c
+++ b/libevent/event.c
@@ -459,6 +459,7 @@ event_once(int fd, short events,
 {
 	struct event_once *eonce;
 	struct timeval etv;
+	int res;
 
 	/* We cannot support signals that just fire once */
 	if (events & EV_SIGNAL)
@@ -487,7 +488,11 @@ event_once(int fd, short events,
 		return (-1);
 	}
 
-	event_add(&eonce->ev, tv);
+	res = event_add(&eonce->ev, tv);
+	if (res != 0) {
+		free(eonce);
+		return (res);
+	}
 
 	return (0);
 }