static void* swTimer_del(swTimer *timer, int interval_ms, int id) { swTimer_node *node = swTimer_node_find(&timer->root, interval_ms, id); if (!node) { return NULL; } if (interval_ms) { swHashMap_del_int(timer->list, interval_ms); } node->remove = 1; return node->data; }
static void* swEventTimer_del(swTimer *timer, int _msec, int id) { swTimer_node *del = swTimer_node_find(&timer->root, _msec, id); if (del) { del->remove = 1; void *data = del->data; del->data = NULL; timer->num--; return data; } else { return NULL; } }