]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FSCORE-323
authorAnthony Minessale <anthony.minessale@gmail.com>
Sat, 7 Mar 2009 14:07:48 +0000 (14:07 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Sat, 7 Mar 2009 14:07:48 +0000 (14:07 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@12509 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/switch.c

index dcabe92ef39760124d0623e096d789606ddf47ce..ed5ca6c1b07ec6db2adfdcf41f8387934fd5ab4a 100644 (file)
@@ -621,13 +621,23 @@ int main(int argc, char *argv[])
                memset(&rlp, 0, sizeof(rlp));
                getrlimit(RLIMIT_STACK, &rlp);
                if (rlp.rlim_max > SWITCH_THREAD_STACKSIZE) {
+                       char buf[1024] = "";
+                       int i = 0;
                        memset(&rlp, 0, sizeof(rlp));
                        rlp.rlim_cur = SWITCH_THREAD_STACKSIZE;
                        rlp.rlim_max = SWITCH_THREAD_STACKSIZE;
                        setrlimit(RLIMIT_STACK, &rlp);
-                       fprintf(stderr, "Error: stacksize %d is too large: run ulimit -s %d or run %s -waste.\nauto-adjusting stack size for optimal performance....\n", 
-                                       SWITCH_THREAD_STACKSIZE / 1024, SWITCH_THREAD_STACKSIZE / 1024, argv[0]);
-                       return (int)execv(argv[0], argv);
+                       fprintf(stderr, "Error: stacksize %ld is too large: run ulimit -s %d or run %s -waste.\nauto-adjusting stack size for optimal performance....\n", 
+                                       rlp.rlim_max / 1024, SWITCH_THREAD_STACKSIZE / 1024, argv[0]);
+                       apr_terminate();
+                       ret = (int)execv(argv[0], argv);
+                       
+                       for(i = 0; i < argc; i++) {
+                               switch_snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "%s ", argv[i]);
+                       }
+
+                       return system(buf);
+                                       
                }
        }
 #endif