diff options
author | 2019-05-29 13:03:49 +0300 | |
---|---|---|
committer | 2019-05-29 13:03:49 +0300 | |
commit | 187fe61700fc97fff565ec53aac65c664042feae (patch) | |
tree | 498d0c00af96c4f666b4ef4dbb6db0966a485852 /src/daemon/purple.c | |
parent | aef4eba5572d6b42f8ef2913ec41c0e778731960 (diff) | |
download | usurpation-187fe61700fc97fff565ec53aac65c664042feae.tar.gz usurpation-187fe61700fc97fff565ec53aac65c664042feae.tar.bz2 usurpation-187fe61700fc97fff565ec53aac65c664042feae.zip |
daemon: get ready to use messaging interfaces.
Signed-off-by: Gediminas Jakutis <gediminas@varciai.lt>
Diffstat (limited to 'src/daemon/purple.c')
-rw-r--r-- | src/daemon/purple.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/daemon/purple.c b/src/daemon/purple.c index 882ea61..e004448 100644 --- a/src/daemon/purple.c +++ b/src/daemon/purple.c @@ -246,9 +246,14 @@ int purple_init(void) void purple_close(void) { + int status; - if (pthread_mutex_trylock(&state.mutex) == EBUSY) { + status = pthread_mutex_trylock(&state.mutex); + + if (status == EBUSY) { pthread_cancel(state.purple); pthread_join(state.purple, NULL); + } else if (!status) { + pthread_mutex_unlock(&state.mutex); } } |