[Freeswitch-svn] [commit] r7132 - in freeswitch/trunk/src: . include
Freeswitch SVN
anthm at freeswitch.org
Mon Jan 7 15:40:59 EST 2008
Author: anthm
Date: Mon Jan 7 15:40:59 2008
New Revision: 7132
Modified:
freeswitch/trunk/src/include/switch_core.h
freeswitch/trunk/src/switch.c
freeswitch/trunk/src/switch_core.c
Log:
fix FSCORE-82
Modified: freeswitch/trunk/src/include/switch_core.h
==============================================================================
--- freeswitch/trunk/src/include/switch_core.h (original)
+++ freeswitch/trunk/src/include/switch_core.h Mon Jan 7 15:40:59 2008
@@ -1531,6 +1531,7 @@
SWITCH_DECLARE(void) switch_core_memory_reclaim_events(void);
SWITCH_DECLARE(void) switch_core_memory_reclaim_logger(void);
SWITCH_DECLARE(void) switch_core_memory_reclaim_all(void);
+SWITCH_DECLARE(void) switch_core_setrlimits(void);
///\}
Modified: freeswitch/trunk/src/switch.c
==============================================================================
--- freeswitch/trunk/src/switch.c (original)
+++ freeswitch/trunk/src/switch.c Mon Jan 7 15:40:59 2008
@@ -430,6 +430,8 @@
set_high_priority();
}
+ switch_core_setrlimits();
+
#ifndef WIN32
if (runas_user || runas_group) {
if(change_user_group(runas_user, runas_group) < 0) {
Modified: freeswitch/trunk/src/switch_core.c
==============================================================================
--- freeswitch/trunk/src/switch_core.c (original)
+++ freeswitch/trunk/src/switch_core.c Mon Jan 7 15:40:59 2008
@@ -661,6 +661,44 @@
}
+
+SWITCH_DECLARE(void) switch_core_setrlimits(void)
+{
+#ifdef HAVE_SETRLIMIT
+ struct rlimit rlp;
+
+ /*
+ Setting the stack size on FreeBSD results in an instant crash.
+
+ If anyone knows how to fix this,
+ feel free to submit a patch to http://jira.freeswitch.org
+ */
+
+#ifndef __FreeBSD__
+ memset(&rlp, 0, sizeof(rlp));
+ rlp.rlim_cur = SWITCH_THREAD_STACKSIZE;
+ rlp.rlim_max = SWITCH_THREAD_STACKSIZE;
+ setrlimit(RLIMIT_STACK, &rlp);
+#endif
+
+ memset(&rlp, 0, sizeof(rlp));
+ rlp.rlim_cur = 999999;
+ rlp.rlim_max = 999999;
+ setrlimit(RLIMIT_NOFILE, &rlp);
+
+ memset(&rlp, 0, sizeof(rlp));
+ rlp.rlim_cur = RLIM_INFINITY;
+ rlp.rlim_max = RLIM_INFINITY;
+
+ setrlimit(RLIMIT_CPU, &rlp);
+ setrlimit(RLIMIT_DATA, &rlp);
+ setrlimit(RLIMIT_FSIZE, &rlp);
+ setrlimit(RLIMIT_AS, &rlp);
+#endif
+ return;
+}
+
+
SWITCH_DECLARE(switch_status_t) switch_core_init(switch_core_flag_t flags, switch_bool_t console, const char **err)
{
switch_xml_t xml = NULL, cfg = NULL;
@@ -702,41 +740,6 @@
switch_core_set_variable("base_dir", SWITCH_GLOBAL_dirs.base_dir);
-#ifdef HAVE_SETRLIMIT
- {
- struct rlimit rlp;
-
- /*
- Setting the stack size on FreeBSD results in an instant crash.
-
- If anyone knows how to fix this,
- feel free to submit a patch to http://jira.freeswitch.org
- */
-
-#ifndef __FreeBSD__
- memset(&rlp, 0, sizeof(rlp));
- rlp.rlim_cur = SWITCH_THREAD_STACKSIZE;
- rlp.rlim_max = SWITCH_THREAD_STACKSIZE;
- setrlimit(RLIMIT_STACK, &rlp);
-#endif
-
- memset(&rlp, 0, sizeof(rlp));
- rlp.rlim_cur = 999999;
- rlp.rlim_max = 999999;
- setrlimit(RLIMIT_NOFILE, &rlp);
-
- memset(&rlp, 0, sizeof(rlp));
- rlp.rlim_cur = RLIM_INFINITY;
- rlp.rlim_max = RLIM_INFINITY;
-
- setrlimit(RLIMIT_CPU, &rlp);
- setrlimit(RLIMIT_DATA, &rlp);
- setrlimit(RLIMIT_FSIZE, &rlp);
- setrlimit(RLIMIT_AS, &rlp);
- }
-
-#endif
-
if (switch_xml_init(runtime.memory_pool, err) != SWITCH_STATUS_SUCCESS) {
apr_terminate();
More information about the Freeswitch-svn
mailing list