* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
/* 500 milliseconds allowed. An extreme number but lets be really conservative
to allow old and slow machines to run this test too */
-#define MAX_BLOCKED_TIME_US 500000
-
-/* return the number of microseconds between two time stamps */
-static int elapsed(struct timeval *before,
- struct timeval *after)
-{
- ssize_t result;
-
- result = (after->tv_sec - before->tv_sec) * 1000000 +
- after->tv_usec - before->tv_usec;
- if(result < 0)
- result = 0;
-
- return curlx_sztosi(result);
-}
-
+#define MAX_BLOCKED_TIME_MS 500
int test(char *URL)
{
int maxfd = -99;
struct timeval before;
struct timeval after;
- int e;
+ long e;
timeout.tv_sec = 0;
timeout.tv_usec = 100000L; /* 100 ms */
/* At this point, maxfd is guaranteed to be greater or equal than -1. */
- select_test(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout);
+ select_test(maxfd + 1, &fdread, &fdwrite, &fdexcep, &timeout);
abort_on_test_timeout();
abort_on_test_timeout();
after = tutil_tvnow();
- e = elapsed(&before, &after);
- fprintf(stderr, "pong = %d\n", e);
+ e = tutil_tvdiff(after, before);
+ fprintf(stderr, "pong = %ld\n", e);
- if(e > MAX_BLOCKED_TIME_US) {
+ if(e > MAX_BLOCKED_TIME_MS) {
res = 100;
break;
}