Преглед изворни кода

* Moved some stuff from main.c to debug.c

svn: 593
Bryan Drewery пре 22 година
родитељ
комит
3b39bd21ff
2 измењених фајлова са 44 додато и 36 уклоњено
  1. 41 0
      src/debug.c
  2. 3 36
      src/main.c

+ 41 - 0
src/debug.c

@@ -13,6 +13,10 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+#include <unistd.h>
+
 
 extern int 		 sdebug, backgrd, do_restart;
 extern char		 tempdir[], origbotname[], ver[];
@@ -21,6 +25,43 @@ extern jmp_buf           alarmret;
 extern Tcl_Interp       *interp;
 
 
+void setlimits()
+{
+#ifndef DEBUG_MEM
+  struct rlimit cdlim, plim, fdlim, corelim;
+/*  struct rsslim, stacklim;
+  rsslim.rlim_cur = 30720;
+  rsslim.rlim_max = 30720;
+  setrlimit(RLIMIT_RSS, &rsslim);
+  stacklim.rlim_cur = 30720;
+  stacklim.rlim_max = 30720;
+  setrlimit(RLIMIT_STACK, &stacklim);
+*/
+  /* do NOT dump a core. */
+  corelim.rlim_cur = 0;
+  corelim.rlim_max = 0;
+  setrlimit(RLIMIT_CORE, &corelim);
+  plim.rlim_cur = 50;
+  plim.rlim_max = 50;
+  setrlimit(RLIMIT_NPROC, &plim);
+  fdlim.rlim_cur = 200;
+  fdlim.rlim_max = 200;
+  setrlimit(RLIMIT_NOFILE, &fdlim);
+#else /* DEBUG_MEM */
+  struct rlimit cdlim;
+  cdlim.rlim_cur = RLIM_INFINITY;
+  cdlim.rlim_max = RLIM_INFINITY;
+  setrlimit(RLIMIT_CORE, &cdlim);
+#endif /* !DEBUG_MEM */
+}
+
+void init_debug()
+{
+  int i = 0;
+  for (i = 0; i < 16; i ++)
+    Context;
+}
+
 int     sdebug = 0;             /* enable debug output? */
 
 void sdprintf EGG_VARARGS_DEF(char *, arg1)

+ 3 - 36
src/main.c

@@ -26,7 +26,6 @@
 #include <sys/ptrace.h>
 #include <sys/wait.h>
 #endif /* S_ANTITRACE */
-#include <sys/resource.h>
 #include <dirent.h>
 #include <pwd.h>
 
@@ -896,6 +895,8 @@ void check_trace_start()
 #endif /* S_ANTITRACE */
 }
 
+void init_debug();
+
 int main(int argc, char **argv)
 {
   egg_timeval_t howlong;
@@ -909,41 +910,7 @@ int main(int argc, char **argv)
   int skip = 0;
   int ok = 1;
 #endif
-
-#ifndef DEBUG_MEM
-  {
-    struct rlimit cdlim, plim, fdlim, corelim;
-/*  struct rsslim, stacklim;
-    rsslim.rlim_cur = 30720;
-    rsslim.rlim_max = 30720;
-    setrlimit(RLIMIT_RSS, &rsslim);
-    stacklim.rlim_cur = 30720;
-    stacklim.rlim_max = 30720;
-    setrlimit(RLIMIT_STACK, &stacklim);   
-*/
-    /* do NOT dump a core. */
-    corelim.rlim_cur = 0;
-    corelim.rlim_max = 0;
-    setrlimit(RLIMIT_CORE, &corelim);
-    plim.rlim_cur = 50;
-    plim.rlim_max = 50;
-    setrlimit(RLIMIT_NPROC, &plim);
-    fdlim.rlim_cur = 200;
-    fdlim.rlim_max = 200;
-    setrlimit(RLIMIT_NOFILE, &fdlim);
-  }
-#else /* DEBUG_MEM */
-  {
-    struct rlimit cdlim;
-    cdlim.rlim_cur = RLIM_INFINITY;
-    cdlim.rlim_max = RLIM_INFINITY;
-    setrlimit(RLIMIT_CORE, &cdlim);
-  }  
-#endif /* !DEBUG_MEM */
-
-  /* Initialise context list */
-  for (i = 0; i < 16; i++)
-    Context;
+  init_debug();
 
   /* Version info! */
   egg_snprintf(ver, sizeof ver, "Wraith %s", egg_version);