return NULL;
}
- pthread_mutex_lock(&mesh->mutex);
+ if(pthread_mutex_lock(&mesh->mutex) != 0) {
+ abort();
+ }
devtool_edge_t *result = NULL;
unsigned int result_size = 0;
bool result = true;
- pthread_mutex_lock(&mesh->mutex);
+ if(pthread_mutex_lock(&mesh->mutex) != 0) {
+ abort();
+ }
// export edges and nodes
size_t node_count = 0;
node_t *internal = (node_t *)node;
- pthread_mutex_lock(&mesh->mutex);
+ if(pthread_mutex_lock(&mesh->mutex) != 0) {
+ abort();
+ }
memcpy(&status->status, &internal->status, sizeof status->status);
memcpy(&status->address, &internal->address, sizeof status->address);
meshlink_submesh_t **result;
//lock mesh->nodes
- pthread_mutex_lock(&mesh->mutex);
+ if(pthread_mutex_lock(&mesh->mutex) != 0) {
+ abort();
+ }
*nmemb = mesh->submeshes->count;
result = realloc(submeshes, *nmemb * sizeof(*submeshes));
node_t *n = (node_t *)node;
connection_t *c = n->connection;
- n->last_req_key = 0;
+ n->last_req_key = -3600;
if(c) {
- c->last_key_renewal = 0;
+ c->last_key_renewal = -3600;
}
}
+
+void devtool_set_meta_status_cb(meshlink_handle_t *mesh, meshlink_node_status_cb_t cb) {
+ if(!mesh) {
+ meshlink_errno = MESHLINK_EINVAL;
+ return;
+ }
+
+ if(pthread_mutex_lock(&mesh->mutex) != 0) {
+ abort();
+ }
+
+ mesh->meta_status_cb = cb;
+ pthread_mutex_unlock(&mesh->mutex);
+}