Browse Source

ENH: Adding debugging code for freebsd.

Brad King 20 years ago
parent
commit
b45071cc60
2 changed files with 15 additions and 0 deletions
  1. 9 0
      Source/kwsys/ProcessUNIX.c
  2. 6 0
      Source/kwsys/testProcess.c

+ 9 - 0
Source/kwsys/ProcessUNIX.c

@@ -895,6 +895,15 @@ int kwsysProcess_WaitForData(kwsysProcess* cp, char** data, int* length,
       break;
       }
 
+#if defined(__FreeBSD__)
+    if(timeout && getenv("TEST_PROCESS_4"))
+      {
+      fprintf(stderr, "select with timeout %ld %ld\n",
+              timeout->tv_sec, timeout->tv_usec);
+      fflush(stderr);
+      }
+#endif
+
     /* Run select to block until data are available.  Repeat call
        until it is not interrupted.  */
     while(((numReady = select(max+1, &cp->PipeSet, 0, 0, timeout)) < 0) &&

+ 6 - 0
Source/kwsys/testProcess.c

@@ -325,6 +325,12 @@ int main(int argc, const char* argv[])
     fprintf(stderr, "Output on stderr before test %d.\n", n);
     fflush(stdout);
     fflush(stderr);
+#if defined(__FreeBSD__)
+    if(n == 4)
+      {
+      putenv("TEST_PROCESS_4=1");
+      }
+#endif
     r = runChild(cmd, states[n-1], exceptions[n-1], values[n-1], 0,
                  outputs[n-1], delays[n-1], timeouts[n-1]);
     fprintf(stdout, "Output on stdout after test %d.\n", n);