summaryrefslogtreecommitdiff
path: root/channels/chan_skinny.c
diff options
context:
space:
mode:
authorRussell Bryant <russell@russellbryant.com>2007-05-24 18:30:19 +0000
committerRussell Bryant <russell@russellbryant.com>2007-05-24 18:30:19 +0000
commit4b3a3fb14c298512ef69e17a710e210de14914fb (patch)
tree86895556d8f221a39105f4398a54d612fbbd3da8 /channels/chan_skinny.c
parentbcd2bd8294408ca2f432747ef2e3073edecec4c1 (diff)
Add a new API call for creating detached threads. Then, go replace all of the
places in the code where the same block of code for creating detached threads was replicated. (patch from bbryant) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@65968 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_skinny.c')
-rw-r--r--channels/chan_skinny.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c
index e5051204a..72ca80182 100644
--- a/channels/chan_skinny.c
+++ b/channels/chan_skinny.c
@@ -4514,12 +4514,8 @@ static void *accept_thread(void *ignore)
struct skinnysession *s;
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);
-
for (;;) {
sinlen = sizeof(sin);
as = accept(skinnysock, (struct sockaddr *)&sin, &sinlen);
@@ -4544,14 +4540,13 @@ static void *accept_thread(void *ignore)
sessions = s;
ast_mutex_unlock(&sessionlock);
- if (ast_pthread_create(&tcp_thread, &attr, skinny_session, s)) {
+ if (ast_pthread_create_detached(&tcp_thread, NULL, skinny_session, s)) {
destroy_session(s);
}
}
if (skinnydebug)
ast_verbose("killing accept thread\n");
close(as);
- pthread_attr_destroy(&attr);
return 0;
}