Browse Source

Add sleep in handle_EINTR

yhirose 1 year ago
parent
commit
d82c82db2c
1 changed files with 4 additions and 1 deletions
  1. 4 1
      httplib.h

+ 4 - 1
httplib.h

@@ -2951,7 +2951,10 @@ template <typename T> inline ssize_t handle_EINTR(T fn) {
   ssize_t res = 0;
   while (true) {
     res = fn();
-    if (res < 0 && errno == EINTR) { continue; }
+    if (res < 0 && errno == EINTR) {
+      std::this_thread::sleep_for(std::chrono::milliseconds{1});
+      continue;
+    }
     break;
   }
   return res;