Просмотр исходного кода

network: GetAndLogLastError: ignore Errno::AGAIN
If non-blocking sockets are used, they generate a lot of Errno::AGAIN errors when they didn't receive any data. These errors shouldn't be logged.

Sönke Holz 5 лет назад
Родитель
Сommit
ddeb8d854e
1 измененных файлов с 5 добавлено и 1 удалено
  1. 5 1
      src/core/network/network.cpp

+ 5 - 1
src/core/network/network.cpp

@@ -227,8 +227,12 @@ Errno GetAndLogLastError() {
 #else
 #else
     int e = errno;
     int e = errno;
 #endif
 #endif
+    const Errno err = TranslateNativeError(e);
+    if (err == Errno::AGAIN) {
+        return err;
+    }
     LOG_ERROR(Network, "Socket operation error: {}", NativeErrorToString(e));
     LOG_ERROR(Network, "Socket operation error: {}", NativeErrorToString(e));
-    return TranslateNativeError(e);
+    return err;
 }
 }
 
 
 int TranslateDomain(Domain domain) {
 int TranslateDomain(Domain domain) {