SWITCH_DECLARE(void) switch_close_extra_files(int *keep, int keep_ttl);
SWITCH_DECLARE(switch_status_t) switch_core_thread_set_cpu_affinity(int cpu);
SWITCH_DECLARE(void) switch_os_yield(void);
-
+SWITCH_DECLARE(switch_status_t) switch_core_get_stacksizes(switch_size_t *cur, switch_size_t *max);
SWITCH_END_EXTERN_C
#endif
/* For Emacs:
return SWITCH_STATUS_SUCCESS;
}
-#ifndef WIN32
-#include "switch_private.h"
-#ifdef HAVE_SETRLIMIT
-#include <sys/resource.h>
-#endif
-#endif
-
-
SWITCH_STANDARD_API(status_function)
{
uint8_t html = 0;
char *http = NULL;
int sps = 0, last_sps = 0;
const char *var;
-#ifdef HAVE_SETRLIMIT
- struct rlimit rlp;
-#endif
-
-
+ switch_size_t cur = 0, max = 0;
switch_core_measure_time(switch_core_uptime(), &duration);
stream->write_function(stream, "%d session(s) max\n", switch_core_session_limit(0));
stream->write_function(stream, "min idle cpu %0.2f/%0.2f\n", switch_core_min_idle_cpu(-1.0), switch_core_idle_cpu());
-#ifdef HAVE_SETRLIMIT
- memset(&rlp, 0, sizeof(rlp));
- getrlimit(RLIMIT_STACK, &rlp);
-
- stream->write_function(stream, "Current Stack Size/Max %ldK/%ldK\n", rlp.rlim_cur / 1024, rlp.rlim_max / 1024);
-#endif
+ if (switch_core_get_stacksizes(&cur, &max) == SWITCH_STATUS_SUCCESS) {
+ stream->write_function(stream, "Current Stack Size/Max %ldK/%ldK\n", cur / 1024, max / 1024);
+ }
if (html) {
stream->write_function(stream, "</b>\n");
}
+SWITCH_DECLARE(switch_status_t) switch_core_get_stacksizes(switch_size_t *cur, switch_size_t *max)
+{
+#ifdef HAVE_SETRLIMIT
+ struct rlimit rlp;
+
+ memset(&rlp, 0, sizeof(rlp));
+ getrlimit(RLIMIT_STACK, &rlp);
+
+ *cur = rlp.rlim_cur;
+ *max = rlp.rlim_max;
+
+ return SWITCH_STATUS_SUCCESS;
+
+#else
+
+ return SWITCH_STATUS_FALSE;
+
+#endif
+
+
+
+}
+
+
SWITCH_DECLARE(int) switch_stream_system(const char *cmd, switch_stream_handle_t *stream)
{
#ifdef WIN32