summaryrefslogtreecommitdiffstats
path: root/daemons/dmeventd/dmeventd.c
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2012-03-02 22:57:25 +0000
committerZdenek Kabelac <zkabelac@redhat.com>2012-03-02 22:57:25 +0000
commit0438b15353df72b1deef1b2d8d4c6e2dc676bd4a (patch)
treeb8802c32f4b61e7c73bdd023d84a8f09903bbcbb /daemons/dmeventd/dmeventd.c
parent8d2c7d28cccd0e724e53a590c0aa0d82f10c5e38 (diff)
downloadlvm2-0438b15353df72b1deef1b2d8d4c6e2dc676bd4a.tar.gz
lvm2-0438b15353df72b1deef1b2d8d4c6e2dc676bd4a.tar.xz
lvm2-0438b15353df72b1deef1b2d8d4c6e2dc676bd4a.zip
List _thread_registry missed mutex
Operation on _thread_registry needs to be covered by mutex. Cosmetic move a die code after free for valgind short leak list.
Diffstat (limited to 'daemons/dmeventd/dmeventd.c')
-rw-r--r--daemons/dmeventd/dmeventd.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/daemons/dmeventd/dmeventd.c b/daemons/dmeventd/dmeventd.c
index bba06a8e..1d70afca 100644
--- a/daemons/dmeventd/dmeventd.c
+++ b/daemons/dmeventd/dmeventd.c
@@ -1491,9 +1491,9 @@ static void _process_request(struct dm_event_fifos *fifos)
if (!_client_write(fifos, &msg))
stack;
- if (die) raise(9);
-
dm_free(msg.data);
+
+ if (die) raise(9);
}
static void _process_initial_registrations(void)
@@ -1987,11 +1987,13 @@ int main(int argc, char *argv[])
while (!_exit_now) {
_process_request(&fifos);
_cleanup_unused_threads();
+ _lock_mutex();
if (!dm_list_empty(&_thread_registry)
|| !dm_list_empty(&_thread_registry_unused))
_thread_registries_empty = 0;
else
_thread_registries_empty = 1;
+ _unlock_mutex();
}
_exit_dm_lib();