void udprelay_close(struct server_context *server) { uv_close((uv_handle_t *)&server->udp, NULL); uv_mutex_lock(&mutex); cache_removeall(cache, server->udp.loop, select_cb); uv_mutex_unlock(&mutex); }
void udprelay_close(struct server_context *server) { uv_poll_stop(&server->watcher); close(server->udp_fd); uv_mutex_lock(&mutex); cache_removeall(cache, server->udp.loop, select_cb); uv_mutex_unlock(&mutex); }