Version 1.02.84 -
====================================
+ Drop taking timeout mutex for un/registering dmeventd monitor.
Allow section names in config file data to be quoted strings.
Close fifos before exiting in dmeventd restart() error path.
Move printf format string directly into dm_asprintf args list.
return;
}
thread->status = DM_THREAD_DONE;
- pthread_mutex_lock(&_timeout_mutex);
UNLINK_THREAD(thread);
LINK(thread, &_thread_registry_unused);
- pthread_mutex_unlock(&_timeout_mutex);
_unlock_mutex();
}
thread->events &= ~message_data->events_field;
- if (!(thread->events & DM_EVENT_TIMEOUT))
+ if (!(thread->events & DM_EVENT_TIMEOUT)) {
+ _unlock_mutex();
_unregister_for_timeout(thread);
+ _lock_mutex();
+ }
/*
* In case there's no events to monitor on this device ->
* unlink and terminate its monitoring thread.
*/
if (!thread->events) {
- pthread_mutex_lock(&_timeout_mutex);
UNLINK_THREAD(thread);
LINK(thread, &_thread_registry_unused);
- pthread_mutex_unlock(&_timeout_mutex);
}
_unlock_mutex();