aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_zap.c
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2006-10-04 19:47:22 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2006-10-04 19:47:22 +0000
commitac1ade7444c3a81d76e879f6d3571aae3c8e7bae (patch)
treeec12e69e00eece03476c2cb0feca8bc2b7be859b /channels/chan_zap.c
parentc75c68f35a55aa7107e5096bde5dc4d2f0cd4a07 (diff)
update thread creation code a bit
reduce standard thread stack size slightly to allow the pthreads library to allocate the stack+data and not overflow a power-of-2 allocation in the kernel and waste memory/address space add a new stack size for 'background' threads (those that don't handle PBX calls) when LOW_MEMORY is defined git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@44378 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_zap.c')
-rw-r--r--channels/chan_zap.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index f39e25b4e..869a33313 100644
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -6914,7 +6914,7 @@ static int restart_monitor(void)
#endif
} else {
/* Start a new monitor */
- if (ast_pthread_create(&monitor_thread, &attr, do_monitor, NULL) < 0) {
+ if (ast_pthread_create_background(&monitor_thread, &attr, do_monitor, NULL) < 0) {
ast_mutex_unlock(&monlock);
ast_log(LOG_ERROR, "Unable to start monitor thread.\n");
return -1;
@@ -8324,7 +8324,7 @@ static void *pri_dchannel(void *vpri)
idle = zt_request("Zap", AST_FORMAT_ULAW, idlen, &cause);
if (idle) {
pri->pvts[nextidle]->isidlecall = 1;
- if (ast_pthread_create(&p, NULL, do_idle_thread, idle)) {
+ if (ast_pthread_create_background(&p, NULL, do_idle_thread, idle)) {
ast_log(LOG_WARNING, "Unable to start new thread for idle channel '%s'\n", idle->name);
zt_hangup(idle);
}
@@ -9348,7 +9348,7 @@ static int start_pri(struct zt_pri *pri)
/* Assume primary is the one we use */
pri->pri = pri->dchans[0];
pri->resetpos = -1;
- if (ast_pthread_create(&pri->master, NULL, pri_dchannel, pri)) {
+ if (ast_pthread_create_background(&pri->master, NULL, pri_dchannel, pri)) {
for (i = 0; i < NUM_DCHANS; i++) {
if (!pri->dchannels[i])
break;