Check event_initialized before event_del if event may not have been set

up; libevent2 complains about this.
This commit is contained in:
Kevin Lo 2014-12-24 05:59:32 +00:00
parent 11bde4aafe
commit c048e9f0a0
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=375390
3 changed files with 36 additions and 10 deletions

View file

@ -3,7 +3,7 @@
PORTNAME= ifstated
PORTVERSION= 5.1
PORTEPOCH= 2
PORTEPOCH= 3
CATEGORIES= net
MASTER_SITES= http://christianserving.org/ports/net/ifstated/

View file

@ -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);
}

View file

@ -1,6 +1,13 @@
--- log.c.orig 2010-06-11 13:29:09.127347360 -0500
+++ log.c 2010-06-11 13:29:20.636464838 -0500
@@ -28,8 +28,8 @@
--- log.c.orig 2007-10-25 14:03:31.000000000 +0800
+++ log.c 2014-12-05 15:11:31.000000000 +0800
@@ -22,14 +22,15 @@
#include <stdlib.h>
#include <string.h>
#include <syslog.h>
+#include <time.h>
void log_init(int);
void log_warn(const char *, ...);
void log_warnx(const char *, ...);
void log_info(const char *, ...);
void log_debug(const char *, ...);