summaryrefslogtreecommitdiff
path: root/deps/uv/src/unix/loop.c
diff options
context:
space:
mode:
Diffstat (limited to 'deps/uv/src/unix/loop.c')
-rw-r--r--deps/uv/src/unix/loop.c75
1 files changed, 2 insertions, 73 deletions
diff --git a/deps/uv/src/unix/loop.c b/deps/uv/src/unix/loop.c
index 616cf5bc43..7e167d049e 100644
--- a/deps/uv/src/unix/loop.c
+++ b/deps/uv/src/unix/loop.c
@@ -27,78 +27,7 @@
#include <string.h>
#include <unistd.h>
-static int uv__loop_init(uv_loop_t* loop, int default_loop);
-static void uv__loop_close(uv_loop_t* loop);
-
-static uv_loop_t default_loop_struct;
-static uv_loop_t* default_loop_ptr;
-
-
-uv_loop_t* uv_default_loop(void) {
- if (default_loop_ptr != NULL)
- return default_loop_ptr;
-
- if (uv__loop_init(&default_loop_struct, /* default_loop? */ 1))
- return NULL;
-
- default_loop_ptr = &default_loop_struct;
- return default_loop_ptr;
-}
-
-
int uv_loop_init(uv_loop_t* loop) {
- return uv__loop_init(loop, /* default_loop? */ 0);
-}
-
-
-int uv_loop_close(uv_loop_t* loop) {
- QUEUE* q;
- uv_handle_t* h;
- if (!QUEUE_EMPTY(&(loop)->active_reqs))
- return -EBUSY;
- QUEUE_FOREACH(q, &loop->handle_queue) {
- h = QUEUE_DATA(q, uv_handle_t, handle_queue);
- if (!(h->flags & UV__HANDLE_INTERNAL))
- return -EBUSY;
- }
- uv__loop_close(loop);
-#ifndef NDEBUG
- memset(loop, -1, sizeof(*loop));
-#endif
- if (loop == default_loop_ptr)
- default_loop_ptr = NULL;
- return 0;
-}
-
-
-uv_loop_t* uv_loop_new(void) {
- uv_loop_t* loop;
-
- loop = malloc(sizeof(*loop));
- if (loop == NULL)
- return NULL;
-
- if (uv_loop_init(loop)) {
- free(loop);
- return NULL;
- }
-
- return loop;
-}
-
-
-void uv_loop_delete(uv_loop_t* loop) {
- uv_loop_t* default_loop;
- int err;
- default_loop = default_loop_ptr;
- err = uv_loop_close(loop);
- assert(err == 0);
- if (loop != default_loop)
- free(loop);
-}
-
-
-static int uv__loop_init(uv_loop_t* loop, int default_loop) {
int err;
uv__signal_global_once_init();
@@ -130,7 +59,7 @@ static int uv__loop_init(uv_loop_t* loop, int default_loop) {
loop->timer_counter = 0;
loop->stop_flag = 0;
- err = uv__platform_loop_init(loop, default_loop);
+ err = uv__platform_loop_init(loop);
if (err)
return err;
@@ -155,7 +84,7 @@ static int uv__loop_init(uv_loop_t* loop, int default_loop) {
}
-static void uv__loop_close(uv_loop_t* loop) {
+void uv__loop_close(uv_loop_t* loop) {
uv__signal_loop_cleanup(loop);
uv__platform_loop_delete(loop);
uv__async_stop(loop, &loop->async_watcher);