summaryrefslogtreecommitdiffstats
path: root/Source/kwsys
diff options
context:
space:
mode:
Diffstat (limited to 'Source/kwsys')
-rw-r--r--Source/kwsys/ProcessUNIX.c9
-rw-r--r--Source/kwsys/testProcess.c6
2 files changed, 15 insertions, 0 deletions
diff --git a/Source/kwsys/ProcessUNIX.c b/Source/kwsys/ProcessUNIX.c
index 96e6ea7..3d0efd4 100644
--- a/Source/kwsys/ProcessUNIX.c
+++ b/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) &&
diff --git a/Source/kwsys/testProcess.c b/Source/kwsys/testProcess.c
index d4e498a..85975cc 100644
--- a/Source/kwsys/testProcess.c
+++ b/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);