Ver código fonte

Add sleep in handle_EINTR

yhirose 1 ano atrás
pai
commit
d82c82db2c
1 arquivos alterados com 4 adições e 1 exclusões
  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;