summaryrefslogtreecommitdiffstats
path: root/src/daemon/purple.c
diff options
context:
space:
mode:
authorGravatar Gediminas Jakutis <gediminas@varciai.lt> 2019-05-29 13:03:49 +0300
committerGravatar Gediminas Jakutis <gediminas@varciai.lt> 2019-05-29 13:03:49 +0300
commit187fe61700fc97fff565ec53aac65c664042feae (patch)
tree498d0c00af96c4f666b4ef4dbb6db0966a485852 /src/daemon/purple.c
parentaef4eba5572d6b42f8ef2913ec41c0e778731960 (diff)
downloadusurpation-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.c7
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);
}
}