temp fix for GDB hang

temp fix for GDB hang

diff --git a/src/engine/platform/Linux/systemUnix.cpp b/src/engine/platform/Linux/systemUnix.cpp
index 6c79583..c8b112c 100644
--- a/src/engine/platform/Linux/systemUnix.cpp
+++ b/src/engine/platform/Linux/systemUnix.cpp
@@ -171,6 +171,9 @@ valueType* idSystemLocal::GetCurrentUser( void )
     {
         return "player";
     }
+    
+    fcntl( STDIN_FILENO, F_SETFL, fcntl( STDIN_FILENO, F_GETFL, 0 ) | O_NONBLOCK );
+    
     return p->pw_name;
 }
 
diff --git a/src/engine/platform/systemMain.cpp b/src/engine/platform/systemMain.cpp
index d0c4a7f..0b14ece 100644
--- a/src/engine/platform/systemMain.cpp
+++ b/src/engine/platform/systemMain.cpp
@@ -468,6 +468,10 @@ void* idSystemLocal::LoadDll( pointer name )
         }
     }
     
+#if defined (__LINUX__)
+    fcntl( STDIN_FILENO, F_SETFL, fcntl( STDIN_FILENO, F_GETFL, 0 ) | O_NONBLOCK );
+#endif
+    
     return libHandle;
 }
 
@@ -528,8 +532,10 @@ pointer idSystemLocal::SignalToString( sint sig )
             return "Illegal instruction";
         case SIGFPE:
             return "Erroneous arithmetic operation";
+#if !defined (__LINUX__)
         case SIGSEGV:
             return "Invalid memory reference";
+#endif
         case SIGTERM:
             return "Termination signal";
 #if defined (_WIN32)
@@ -710,7 +716,9 @@ Q_EXPORT sint engineMain( sint argc, valueType * *argv )
     
     signal( SIGILL, systemLocal.SigHandler );
     signal( SIGFPE, systemLocal.SigHandler );
+#if !defined (__LINUX__)
     signal( SIGSEGV, systemLocal.SigHandler );
+#endif
     signal( SIGTERM, systemLocal.SigHandler );
     signal( SIGINT, systemLocal.SigHandler );
     

GitHub
sha: da501c56