mirror of
https://github.com/Relintai/godot-mono-builds.git
synced 2025-02-04 16:16:04 +01:00
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
|