aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_skinny.c
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2007-01-05 17:09:00 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2007-01-05 17:09:00 +0000
commit92ddfe0d818477e1872c7c7a3bdf5f5abf9da9e3 (patch)
treefdcad1fd3678d8fb6164b255754cac35f5ae7386 /channels/chan_skinny.c
parentf8d071852a5c401761f55a32873767c8247ffde7 (diff)
Merged revisions 49635 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r49635 | kpfleming | 2007-01-05 10:56:40 -0600 (Fri, 05 Jan 2007) | 2 lines ensure that threads which are supposed to be detached (because we aren't going to wait on them) are created properly ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@49636 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_skinny.c')
-rw-r--r--channels/chan_skinny.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c
index 57ec2a5bc..0552a5c84 100644
--- a/channels/chan_skinny.c
+++ b/channels/chan_skinny.c
@@ -749,7 +749,6 @@ static struct in_addr __ourip;
struct ast_hostent ahp;
struct hostent *hp;
static int skinnysock = -1;
-static pthread_t tcp_thread;
static pthread_t accept_t;
static char context[AST_MAX_CONTEXT] = "default";
static char language[MAX_LANGUAGE] = "";
@@ -4274,6 +4273,7 @@ static void *accept_thread(void *ignore)
struct protoent *p;
int arg = 1;
pthread_attr_t attr;
+ pthread_t tcp_thread;
pthread_attr_init(&attr);
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
@@ -4302,7 +4302,7 @@ static void *accept_thread(void *ignore)
sessions = s;
ast_mutex_unlock(&sessionlock);
- if (ast_pthread_create(&tcp_thread, NULL, skinny_session, s)) {
+ if (ast_pthread_create(&tcp_thread, &attr, skinny_session, s)) {
destroy_session(s);
}
}
@@ -4684,13 +4684,6 @@ static int unload_module(void)
monitor_thread = AST_PTHREADT_STOP;
ast_mutex_unlock(&monlock);
- if (tcp_thread && (tcp_thread != AST_PTHREADT_STOP)) {
- pthread_cancel(tcp_thread);
- pthread_kill(tcp_thread, SIGURG);
- pthread_join(tcp_thread, NULL);
- }
- tcp_thread = AST_PTHREADT_STOP;
-
ast_mutex_lock(&netlock);
if (accept_t && (accept_t != AST_PTHREADT_STOP)) {
pthread_cancel(accept_t);