From 93dabc5c5ee3364a085212d03ccddfef82d0916b Mon Sep 17 00:00:00 2001 From: tilghman Date: Tue, 4 Nov 2008 18:58:05 +0000 Subject: Make the monitor thread non-detached, so it can be joined (suggested by Russell on -dev list). git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@154263 f38db490-d61c-443f-a65b-d21fe96a405b --- channels/chan_h323.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'channels/chan_h323.c') diff --git a/channels/chan_h323.c b/channels/chan_h323.c index 4844c691c..1199ddda9 100644 --- a/channels/chan_h323.c +++ b/channels/chan_h323.c @@ -2510,7 +2510,6 @@ restartsearch: static int restart_monitor(void) { - pthread_attr_t attr; /* If we're supposed to be stopped -- stay stopped */ if (ast_mutex_lock(&monlock)) { ast_log(LOG_WARNING, "Unable to lock monitor\n"); @@ -2529,17 +2528,13 @@ static int restart_monitor(void) /* Wake up the thread */ pthread_kill(monitor_thread, SIGURG); } else { - pthread_attr_init(&attr); - pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); /* Start a new monitor */ - if (ast_pthread_create_background(&monitor_thread, &attr, do_monitor, NULL) < 0) { + if (ast_pthread_create_background(&monitor_thread, NULL, do_monitor, NULL) < 0) { monitor_thread = AST_PTHREADT_NULL; ast_mutex_unlock(&monlock); ast_log(LOG_ERROR, "Unable to start monitor thread.\n"); - pthread_attr_destroy(&attr); return -1; } - pthread_attr_destroy(&attr); } ast_mutex_unlock(&monlock); return 0; @@ -3230,8 +3225,7 @@ static int unload_module(void) pthread_cancel(monitor_thread); } pthread_kill(monitor_thread, SIGURG); - /* Cannot join detached threads */ - /* pthread_join(monitor_thread, NULL); */ + pthread_join(monitor_thread, NULL); } monitor_thread = AST_PTHREADT_STOP; ast_mutex_unlock(&monlock); -- cgit v1.2.3