From 4cd62fb0fba6ddb5c79e3d2dc109b5b7d98612e2 Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Thu, 29 Sep 2011 14:34:57 +0200 Subject: src/io.c: Update todo item count on iCal import Update the number of todo items when importing an iCal file to prevent some items from being inaccessible. Signed-off-by: Lukas Fleischer --- src/io.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/io.c') diff --git a/src/io.c b/src/io.c index 12c9494..b64dd58 100644 --- a/src/io.c +++ b/src/io.c @@ -2780,6 +2780,9 @@ io_import_data (enum import_type type, struct conf *conf, char *stream_name) if (stream != stdin) file_close (stream, __FILE_POS__); + /* Update the number of todo items. */ + todo_set_nb (todo_nb () + stats.todos); + if (ui_mode == UI_CURSES && !conf->skip_system_dialogs) { char read[BUFSIZ], stat[BUFSIZ]; -- cgit v1.2.3-54-g00ecf From 3aefd00f6aebad7c50210e68650cb8c42e0835cd Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Tue, 4 Oct 2011 12:13:13 +0200 Subject: Cleanup joinable threads on termination Always invoke pthread_join() when we blow up a thread via pthread_cancel() (avoid zombie threads). Signed-off-by: Lukas Fleischer --- src/calendar.c | 5 ++++- src/io.c | 5 ++++- src/notify.c | 5 ++++- 3 files changed, 12 insertions(+), 3 deletions(-) (limited to 'src/io.c') 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); + } } /* -- cgit v1.2.3-54-g00ecf