diff options
author | 2010-02-04 13:00:20 +0000 | |
---|---|---|
committer | 2010-02-04 13:00:20 +0000 | |
commit | 4173f6aafdf1da35603097d2702cae70c3b8d7b2 (patch) | |
tree | 66d042d368becf3265747ecc2dca88edee3cbde9 | |
parent | no -S option; from Daniel Dickman (diff) | |
download | wireguard-openbsd-4173f6aafdf1da35603097d2702cae70c3b8d7b2.tar.xz wireguard-openbsd-4173f6aafdf1da35603097d2702cae70c3b8d7b2.zip |
In event_again() call event_del() before calling event_set() so we
don't get into a situation where we are calling event_set() on an event
that was already added.
ok claudio@
-rw-r--r-- | usr.sbin/relayd/relayd.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/usr.sbin/relayd/relayd.c b/usr.sbin/relayd/relayd.c index b0e89f61460..325806eb3e3 100644 --- a/usr.sbin/relayd/relayd.c +++ b/usr.sbin/relayd/relayd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: relayd.c,v 1.94 2010/01/11 06:40:14 jsg Exp $ */ +/* $OpenBSD: relayd.c,v 1.95 2010/02/04 13:00:20 jsg Exp $ */ /* * Copyright (c) 2007, 2008 Reyk Floeter <reyk@openbsd.org> @@ -984,6 +984,7 @@ event_again(struct event *ev, int fd, short event, if (timercmp(&tv_next, &tv, >)) bcopy(&tv_next, &tv, sizeof(tv)); + event_del(ev); event_set(ev, fd, event, fn, arg); event_add(ev, &tv); } |