summaryrefslogtreecommitdiffstats
path: root/src/io.c
diff options
context:
space:
mode:
authorLukas Fleischer <calcurse@cryptocrack.de>2011-10-04 12:13:13 +0200
committerLukas Fleischer <calcurse@cryptocrack.de>2011-10-04 12:26:42 +0200
commit3aefd00f6aebad7c50210e68650cb8c42e0835cd (patch)
treed7fe18390e705c0288ac6cd3c2d3c66f13001b8f /src/io.c
parent4cd62fb0fba6ddb5c79e3d2dc109b5b7d98612e2 (diff)
downloadcalcurse-3aefd00f6aebad7c50210e68650cb8c42e0835cd.tar.gz
calcurse-3aefd00f6aebad7c50210e68650cb8c42e0835cd.zip
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 <calcurse@cryptocrack.de>
Diffstat (limited to 'src/io.c')
-rw-r--r--src/io.c5
1 files changed, 4 insertions, 1 deletions
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);
+ }
}
/*