Restore the vector locking outside the reconfigure() function.
Moving it inside caused a double-lock hang situation. The
first locker being uxsock_trigger(), caller of reconfigure().
Discussion on-going on wether we'd better stop locking from
uxsock_trigger().
struct config * old = conf;
int retval = 1;
- lock(vecs->lock);
/*
* free old map and path vectors ... they use old conf state
*/
retval = 0;
}
- unlock(vecs->lock);
return retval;
}
if (running_state != DAEMON_RUNNING)
return;
+ lock(gvecs->lock);
reconfigure(gvecs);
+ unlock(gvecs->lock);
#ifdef _DEBUG_
dbg_free_final(NULL);