allow providing a callback to uv_messenger_stop to prevent mismatched new/free

This commit is contained in:
Konstantin Käfer
2014-10-30 17:46:57 -04:00
parent 1955600904
commit 80366bc615
4 changed files with 17 additions and 7 deletions

View File

@@ -15,13 +15,14 @@ struct uv_messenger_s {
uv_mutex_t mutex;
uv_async_t async;
uv_messenger_cb callback;
uv_messenger_stop_cb stop_callback;
void *data;
void *queue[2];
};
int uv_messenger_init(uv_loop_t *loop, uv_messenger_t *msgr, uv_messenger_cb callback);
void uv_messenger_send(uv_messenger_t *msgr, void *arg);
void uv_messenger_stop(uv_messenger_t *msgr);
void uv_messenger_stop(uv_messenger_t *msgr, uv_messenger_stop_cb stop_callback);
void uv_messenger_ref(uv_messenger_t *msgr);
void uv_messenger_unref(uv_messenger_t *msgr);