aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_h323.c
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2008-11-04 18:58:05 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2008-11-04 18:58:05 +0000
commit93dabc5c5ee3364a085212d03ccddfef82d0916b (patch)
treebf1dd531e3ba3d7b294b820765e3094ca6b65569 /channels/chan_h323.c
parent679a3ba054b40ce075e146a5ba8b75396bbede3e (diff)
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
Diffstat (limited to 'channels/chan_h323.c')
-rw-r--r--channels/chan_h323.c10
1 files changed, 2 insertions, 8 deletions
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);