summaryrefslogtreecommitdiff
path: root/packages/fcl-web/src
diff options
context:
space:
mode:
authormichael <michael@3ad0048d-3df7-0310-abae-a5850022a9f2>2011-02-28 13:23:29 +0000
committermichael <michael@3ad0048d-3df7-0310-abae-a5850022a9f2>2011-02-28 13:23:29 +0000
commit569024b6fe2225f8acff32ead9a1efe827e13fef (patch)
tree2fc65a2cc98767761c37f4eda8f9fd8880b01622 /packages/fcl-web/src
parent689ffb8d60444aa9bdd955a54e170ddbc68c6fb7 (diff)
downloadfpc-569024b6fe2225f8acff32ead9a1efe827e13fef.tar.gz
* Terminate when socket cannot be created/bound/accepted.
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@17056 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/fcl-web/src')
-rw-r--r--packages/fcl-web/src/base/custfcgi.pp5
1 files changed, 5 insertions, 0 deletions
diff --git a/packages/fcl-web/src/base/custfcgi.pp b/packages/fcl-web/src/base/custfcgi.pp
index 65660994fd..1b0f2634b2 100644
--- a/packages/fcl-web/src/base/custfcgi.pp
+++ b/packages/fcl-web/src/base/custfcgi.pp
@@ -547,12 +547,14 @@ begin
begin
CloseSocket(socket);
Socket:=0;
+ Terminate;
raise Exception.CreateFmt(SBindFailed,[port,socketerror]);
end;
if fplisten(Socket,1)=-1 then
begin
CloseSocket(socket);
Socket:=0;
+ Terminate;
raise Exception.CreateFmt(SListenFailed,[port,socketerror]);
end;
end
@@ -564,7 +566,10 @@ begin
begin
FHandle:=fpaccept(Socket,psockaddr(@IAddress),@AddressLength);
if FHandle=THandle(-1) then
+ begin
+ Terminate;
raise Exception.CreateFmt(SNoInputHandle,[socketerror]);
+ end;
end;
repeat