]> git.meshlink.io Git - meshlink/blobdiff - src/meshlink.c
Properly initialize mutexes and condition variables.
[meshlink] / src / meshlink.c
index 9aca06779a699e17bc667b233571861f507c3b36..8ad72c15573d0f0cf4da9a25e2cbe10cd6391782 100644 (file)
@@ -1456,12 +1456,17 @@ meshlink_handle_t *meshlink_open_ex(const meshlink_open_params_t *params) {
                }
        }
 
-       // initialize mutex
+       // initialize mutexes and conds
        pthread_mutexattr_t attr;
        pthread_mutexattr_init(&attr);
        pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
        pthread_mutex_init(&mesh->mutex, &attr);
 
+       pthread_mutex_init(&mesh->discovery_mutex, NULL);
+       pthread_cond_init(&mesh->discovery_cond, NULL);
+
+       pthread_cond_init(&mesh->adns_cond, NULL);
+
        mesh->threadstarted = false;
        event_loop_init(&mesh->loop);
        mesh->loop.data = mesh;