diff options
author | Zdenek Kabelac <zkabelac@redhat.com> | 2012-03-02 22:57:25 +0000 |
---|---|---|
committer | Zdenek Kabelac <zkabelac@redhat.com> | 2012-03-02 22:57:25 +0000 |
commit | 0438b15353df72b1deef1b2d8d4c6e2dc676bd4a (patch) | |
tree | b8802c32f4b61e7c73bdd023d84a8f09903bbcbb /daemons/dmeventd/dmeventd.c | |
parent | 8d2c7d28cccd0e724e53a590c0aa0d82f10c5e38 (diff) | |
download | lvm2-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.c | 6 |
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(); |