summaryrefslogtreecommitdiffstats
path: root/src/iperf_client_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/iperf_client_api.c')
-rw-r--r--src/iperf_client_api.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/iperf_client_api.c b/src/iperf_client_api.c
index 5b33369..7ad4c93 100644
--- a/src/iperf_client_api.c
+++ b/src/iperf_client_api.c
@@ -614,7 +614,19 @@ iperf_run_client(struct iperf_test * test)
timeout = &used_timeout;
}
+#if (defined(__vxworks)) || (defined(__VXWORKS__))
+ if (timeout != NULL && timeout->tv_sec == 0 && timeout->tv_usec == 0) {
+ taskDelay (1);
+ }
+
+ result = select(test->max_fd + 1,
+ &read_set,
+ (test->state == TEST_RUNNING && !test->reverse) ? &write_set : NULL,
+ NULL,
+ timeout);
+#else
result = select(test->max_fd + 1, &read_set, &write_set, NULL, timeout);
+#endif // __vxworks or __VXWORKS__
if (result < 0 && errno != EINTR) {
i_errno = IESELECT;
goto cleanup_and_fail;