windows: add uv__once_init() that ensures that libuv has been initialized
This commit is contained in:
parent
87f3530a1e
commit
4252240e54
@ -100,13 +100,18 @@ static void uv_loop_init(uv_loop_t* loop) {
|
||||
|
||||
static void uv_default_loop_init(void) {
|
||||
/* Initialize libuv itself first */
|
||||
uv_once(&uv_init_guard_, uv_init);
|
||||
uv__once_init();
|
||||
|
||||
/* Initialize the main loop */
|
||||
uv_loop_init(&uv_default_loop_);
|
||||
}
|
||||
|
||||
|
||||
void uv__once_init(void) {
|
||||
uv_once(&uv_init_guard_, uv_init);
|
||||
}
|
||||
|
||||
|
||||
uv_loop_t* uv_default_loop(void) {
|
||||
uv_once(&uv_default_loop_init_guard_, uv_default_loop_init);
|
||||
return &uv_default_loop_;
|
||||
@ -117,7 +122,7 @@ uv_loop_t* uv_loop_new(void) {
|
||||
uv_loop_t* loop;
|
||||
|
||||
/* Initialize libuv itself first */
|
||||
uv_once(&uv_init_guard_, uv_init);
|
||||
uv__once_init();
|
||||
|
||||
loop = (uv_loop_t*)malloc(sizeof(uv_loop_t));
|
||||
|
||||
|
||||
@ -299,6 +299,8 @@ void uv_prepare_invoke(uv_loop_t* loop);
|
||||
void uv_check_invoke(uv_loop_t* loop);
|
||||
void uv_idle_invoke(uv_loop_t* loop);
|
||||
|
||||
void uv__once_init();
|
||||
|
||||
|
||||
/*
|
||||
* Async watcher
|
||||
|
||||
Loading…
Reference in New Issue
Block a user