summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/calendar.c5
-rw-r--r--src/io.c5
-rw-r--r--src/notify.c5
3 files changed, 12 insertions, 3 deletions
diff --git a/src/calendar.c b/src/calendar.c
index 6664a93..e303ab9 100644
--- a/src/calendar.c
+++ b/src/calendar.c
@@ -145,7 +145,10 @@ void
calendar_stop_date_thread (void)
{
if (calendar_t_date)
- pthread_cancel (calendar_t_date);
+ {
+ pthread_cancel (calendar_t_date);
+ pthread_join (calendar_t_date, NULL);
+ }
}
/* Set static variable today to current date */
diff --git a/src/io.c b/src/io.c
index b64dd58..22f8719 100644
--- a/src/io.c
+++ b/src/io.c
@@ -2927,7 +2927,10 @@ void
io_stop_psave_thread (void)
{
if (io_t_psave)
- pthread_cancel (io_t_psave);
+ {
+ pthread_cancel (io_t_psave);
+ pthread_join (io_t_psave, NULL);
+ }
}
/*
diff --git a/src/notify.c b/src/notify.c
index 1b7e924..188d92c 100644
--- a/src/notify.c
+++ b/src/notify.c
@@ -188,7 +188,10 @@ void
notify_stop_main_thread (void)
{
if (notify_t_main)
- pthread_cancel (notify_t_main);
+ {
+ pthread_cancel (notify_t_main);
+ pthread_join (notify_t_main, NULL);
+ }
}
/*