mirror of
https://github.com/Relintai/godot-mono-builds.git
synced 2025-01-29 15:49:19 +01:00
2d30ce6362
This prevents Mono logs from being spammed, which could result in log file sizes in the dozens of gigabytes.
49 lines
1.7 KiB
Diff
49 lines
1.7 KiB
Diff
diff --git a/mono/metadata/threadpool-io.c b/mono/metadata/threadpool-io.c
|
|
index fdfef2de91e28..45ac0d84b2429 100644
|
|
--- a/mono/metadata/threadpool-io.c
|
|
+++ b/mono/metadata/threadpool-io.c
|
|
@@ -180,6 +180,7 @@ selector_thread_wakeup_drain_pipes (void)
|
|
{
|
|
gchar buffer [128];
|
|
gint received;
|
|
+ static gint warnings_issued = 0;
|
|
|
|
for (;;) {
|
|
#if !defined(HOST_WIN32)
|
|
@@ -192,11 +193,16 @@ selector_thread_wakeup_drain_pipes (void)
|
|
* some unices (like AIX) send ERESTART, which doesn't
|
|
* exist on some other OSes errno
|
|
*/
|
|
- if (errno != EINTR && errno != EAGAIN && errno != ERESTART)
|
|
+ if (errno != EINTR && errno != EAGAIN && errno != ERESTART) {
|
|
#else
|
|
- if (errno != EINTR && errno != EAGAIN)
|
|
+ if (errno != EINTR && errno != EAGAIN) {
|
|
#endif
|
|
- g_warning ("selector_thread_wakeup_drain_pipes: read () failed, error (%d) %s\n", errno, g_strerror (errno));
|
|
+ // limit amount of spam we write
|
|
+ if (warnings_issued < 100) {
|
|
+ g_warning ("selector_thread_wakeup_drain_pipes: read () failed, error (%d) %s\n", errno, g_strerror (errno));
|
|
+ warnings_issued++;
|
|
+ }
|
|
+ }
|
|
break;
|
|
}
|
|
#else
|
|
@@ -204,8 +210,13 @@ selector_thread_wakeup_drain_pipes (void)
|
|
if (received == 0)
|
|
break;
|
|
if (received == SOCKET_ERROR) {
|
|
- if (WSAGetLastError () != WSAEINTR && WSAGetLastError () != WSAEWOULDBLOCK)
|
|
- g_warning ("selector_thread_wakeup_drain_pipes: recv () failed, error (%d)\n", WSAGetLastError ());
|
|
+ if (WSAGetLastError () != WSAEINTR && WSAGetLastError () != WSAEWOULDBLOCK) {
|
|
+ // limit amount of spam we write
|
|
+ if (warnings_issued < 100) {
|
|
+ g_warning ("selector_thread_wakeup_drain_pipes: recv () failed, error (%d)\n", WSAGetLastError ());
|
|
+ warnings_issued++;
|
|
+ }
|
|
+ }
|
|
break;
|
|
}
|
|
#endif
|