File Added-check-for-failed-fork-system-call.patch of Package firebird

From: alexpeshkoff <alexpeshkoff@65644016-39b1-43b1-bf79-96bc8fe82c15>
Date: Mon, 1 Jun 2015 13:59:25 +0000
Subject: Added check for failed fork() system call
Patch-mainline: v2.5.5
Git-commit: f3516ad3248f3094d6d6cc80140a1c45fdefbce2

git-svn-id: svn+ssh://svn.code.sf.net/p/firebird/code/firebird/branches/B2_5_Release@61687 65644016-39b1-43b1-bf79-96bc8fe82c15
---
 src/remote/inet.cpp | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/src/remote/inet.cpp b/src/remote/inet.cpp
index 040afdb251bb..22f9bdb3d1b5 100644
--- a/src/remote/inet.cpp
+++ b/src/remote/inet.cpp
@@ -1076,10 +1076,23 @@ rem_port* INET_connect(const TEXT* name,
 			}
 			return NULL;
 		}
+
 #ifdef WIN_NT
 		if (flag & SRVR_debug)
 #else
-		if ((flag & SRVR_debug) || !fork())
+		int pid = 0;
+		if (!(flag & SRVR_debug))
+		{
+			pid = fork();
+			if (pid < 0)
+			{
+				inet_error(port, "fork", isc_net_connect_err, inetErrNo);
+				disconnect(port);
+				return NULL;
+			}
+		}
+
+		if (!pid)
 #endif
 		{
 			SOCLOSE(port->port_handle);
-- 
2.4.6

openSUSE Build Service is sponsored by