* dispatch_timers().
*/
- if (t != NULL) {
+ if (t != NULL && !is_deleted(t)) {
mrp_debug("marking timer %p deleted", t);
mark_deleted(t);
* in the dispatching loop.
*/
- if (d != NULL) {
+ if (d != NULL && !is_deleted(d)) {
mrp_debug("marking deferred %p deleted", d);
mark_deleted(d);
}
void mrp_del_sighandler(mrp_sighandler_t *h)
{
- if (h != NULL) {
- if (!is_deleted(h)) {
- mrp_debug("marking sighandler %p deleted", h);
+ if (h != NULL && !is_deleted(h)) {
+ mrp_debug("marking sighandler %p deleted", h);
- mark_deleted(h);
- recalc_sigmask(h->ml);
- }
+ mark_deleted(h);
+ recalc_sigmask(h->ml);
}
}
* in the dispatching loop.
*/
- if (w != NULL) {
+ if (w != NULL && !is_deleted(w)) {
mrp_debug("marking wakeup %p deleted", w);
mark_deleted(w);
}