summaryrefslogtreecommitdiff
path: root/net/ifstated/files/patch-ifstated.c
diff options
context:
space:
mode:
authorKevin Lo <kevlo@FreeBSD.org>2014-12-24 05:59:32 +0000
committerKevin Lo <kevlo@FreeBSD.org>2014-12-24 05:59:32 +0000
commitc048e9f0a046208322f03b4f831d8e78fd329163 (patch)
treeb9d016de6225ee330117eeddb4624dd47769b2b8 /net/ifstated/files/patch-ifstated.c
parentnet/google-daemon: update to 1.2.1 (diff)
Check event_initialized before event_del if event may not have been set
up; libevent2 complains about this.
Notes
Notes: svn path=/head/; revision=375390
Diffstat (limited to 'net/ifstated/files/patch-ifstated.c')
-rw-r--r--net/ifstated/files/patch-ifstated.c31
1 files changed, 25 insertions, 6 deletions
diff --git a/net/ifstated/files/patch-ifstated.c b/net/ifstated/files/patch-ifstated.c
index 2f55d7c94194..eddf934f2c7e 100644
--- a/net/ifstated/files/patch-ifstated.c
+++ b/net/ifstated/files/patch-ifstated.c
@@ -1,5 +1,5 @@
---- ifstated.c.orig 2011-07-03 23:34:14.000000000 -0500
-+++ ifstated.c 2012-03-23 14:32:56.412119431 -0500
+--- ifstated.c.orig 2011-07-04 12:34:14.000000000 +0800
++++ ifstated.c 2014-12-05 15:10:34.000000000 +0800
@@ -26,9 +26,11 @@
#include <sys/time.h>
#include <sys/ioctl.h>
@@ -104,7 +104,16 @@
event_set(&rt_msg_ev, rt_fd, EV_READ|EV_PERSIST, rt_msg_handler, NULL);
event_add(&rt_msg_ev, NULL);
-@@ -403,6 +424,7 @@
+@@ -396,13 +417,15 @@
+ waitpid(external->pid, &s, 0);
+ external->pid = 0;
+ }
+- evtimer_del(&external->ev);
++ if (event_initialized(&external->ev))
++ evtimer_del(&external->ev);
+ }
+ break;
+ }
}
}
@@ -112,7 +121,17 @@
#define LINK_STATE_IS_DOWN(_s) (!LINK_STATE_IS_UP((_s)))
int
-@@ -580,6 +602,44 @@
+@@ -534,7 +557,8 @@
+ if (conf->nextstate != NULL && conf->curstate != conf->nextstate) {
+ log_info("changing state to %s", conf->nextstate->name);
+ if (conf->curstate != NULL) {
+- evtimer_del(&conf->curstate->ev);
++ if (event_initialized (&conf->curstate->ev))
++ evtimer_del(&conf->curstate->ev);
+ external_evtimer_setup(conf->curstate,
+ IFSD_EVTIMER_DEL);
+ }
+@@ -580,6 +604,44 @@
}
}
@@ -157,7 +176,7 @@
/*
* Fetch the current link states.
*/
-@@ -589,26 +649,31 @@
+@@ -589,26 +651,31 @@
struct ifaddrs *ifap, *ifa;
char *oname = NULL;
int sock = socket(AF_INET, SOCK_DGRAM, 0);
@@ -197,7 +216,7 @@
}
freeifaddrs(ifap);
close(sock);
-@@ -703,3 +768,13 @@
+@@ -703,3 +770,13 @@
}
free(expression);
}