This fix impacts ws-data.c and ws-pingpong.c. sleep() replaced with
system PROCESS_DELAY_() having the same resolution as usleep().
Fixes #15711
Closes #15712
Signed-off-by: Randall S. Becker <randall.becker@nexbridge.ca>
return result;
}
+#if defined(__TANDEM)
+# include <cextdecs.h(PROCESS_DELAY_)>
+#endif
static CURLcode recv_binary(CURL *curl, char *exp_data, size_t exp_len)
{
const struct curl_ws_frame *frame;
fprintf(stderr, "EAGAIN, sleep, try again\n");
#ifdef _WIN32
Sleep(100);
+#elif defined(__TANDEM)
+ /* NonStop only defines usleep when building for a threading model */
+# if defined(_PUT_MODEL_) || defined(_KLT_MODEL_)
+ usleep(100*1000);
+# else
+ PROCESS_DELAY_(100*1000);
+# endif
#else
usleep(100*1000);
#endif
"ws: curl_ws_send returned %u, sent %u\n", (int)result, (int)sent);
}
+#if defined(__TANDEM)
+# include <cextdecs.h(PROCESS_DELAY_)>
+#endif
static CURLcode pingpong(CURL *curl, const char *payload)
{
CURLcode res;
if(res == CURLE_AGAIN) {
#ifdef _WIN32
Sleep(100);
+#elif defined(__TANDEM)
+ /* NonStop only defines usleep when building for a threading model */
+# if defined(_PUT_MODEL_) || defined(_KLT_MODEL_)
+ usleep(100*1000);
+# else
+ PROCESS_DELAY_(100*1000);
+# endif
#else
usleep(100*1000);
#endif