o Actually define the event_config_set_flag() function.
o Try harder to compile with Visual C++.
o Move event_set() and its allies to event2/event_compat.h where they belong.
+ o Remove the event_gotsig code, which has long been deprecated and unused.
Changes in 2.0.1-alpha:
extern struct event_base *evsig_base;
static int use_monotonic;
-/* Handle signals - This is a deprecated interface */
-int (*event_sigcb)(void); /* Signal callback when gotsig is set */
-volatile sig_atomic_t event_gotsig; /* Set in signal handler */
-
/* Prototypes */
static inline int event_add_internal(struct event *ev,
const struct timeval *tv);
if ((base = mm_calloc(1, sizeof(struct event_base))) == NULL)
event_err(1, "%s: calloc", __func__);
- event_sigcb = NULL;
- event_gotsig = 0;
-
detect_monotonic();
gettime(base, &base->event_tv);
ncalls--;
ev->ev_ncalls = ncalls;
(*ev->ev_callback)((int)ev->ev_fd, ev->ev_res, ev->ev_arg);
- if (event_gotsig || base->event_break)
+ if (base->event_break)
return;
}
}
else
(*ev->ev_callback)(
(int)ev->ev_fd, ev->ev_res, ev->ev_arg);
- if (event_gotsig || base->event_break)
+ if (base->event_break)
return -1;
EVBASE_ACQUIRE_LOCK(base, EVTHREAD_WRITE, th_base_lock);
}
cb->cb(cb, cb->arg);
++count;
- if (event_gotsig || base->event_break)
+ if (base->event_break)
return -1;
EVBASE_ACQUIRE_LOCK(base, EVTHREAD_WRITE, th_base_lock);
break;
}
- /* You cannot use this interface for multi-threaded apps */
- while (event_gotsig) {
- event_gotsig = 0;
- if (event_sigcb) {
- res = (*event_sigcb)();
- if (res == -1) {
- errno = EINTR;
- return (-1);
- }
- }
- }
-
timeout_correct(base, &tv);
tv_p = &tv;