diff --git a/src/kernel/poller.c b/src/kernel/poller.c index 1900bd9a..b2ffa65a 100644 --- a/src/kernel/poller.c +++ b/src/kernel/poller.c @@ -1608,7 +1608,6 @@ int poller_add_timer(const struct timespec *value, void *context, void **timer, int poller_del_timer(void *timer, poller_t *poller) { struct __poller_node *node = (struct __poller_node *)timer; - int stopped = 0; pthread_mutex_lock(&poller->mutex); if (!node->removed) @@ -1622,9 +1621,6 @@ int poller_del_timer(void *timer, poller_t *poller) node->error = 0; node->state = PR_ST_DELETED; - stopped = poller->stopped; - if (!stopped) - write(poller->pipe_wr, &node, sizeof (void *)); } else { @@ -1633,7 +1629,7 @@ int poller_del_timer(void *timer, poller_t *poller) } pthread_mutex_unlock(&poller->mutex); - if (stopped) + if (node) poller->callback((struct poller_result *)node, poller->context); return -!node;