From 7e80b9e940511a274f6386f3f24bf8c8f1c32304 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tom=C3=A1=C5=A1=20Brada?= Date: Mon, 30 Nov 2015 11:53:08 +0100 Subject: [PATCH] Minor fixes in ServerLoop. Main program uses update. --- ServerLoop.pas | 13 ++++++++----- brodnetd.pas | 6 +----- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/ServerLoop.pas b/ServerLoop.pas index 07ff1e8..9b7e56d 100644 --- a/ServerLoop.pas +++ b/ServerLoop.pas @@ -1,7 +1,7 @@ UNIT ServerLoop; INTERFACE -uses MemStream,NetAddr,UnixType; +uses MemStream,NetAddr,UnixType,Sockets; procedure Main; @@ -17,6 +17,7 @@ type tMessageHandler=procedure(msg:tSMsg); procedure SetMsgHandler(OpCode:byte; handler:tMessageHandler); procedure SetHiMsgHandler(handler:tMessageHandler); +function GetSocket(const rcpt:tNetAddr):tSocket; procedure SendMessage(const data; len:word; const rcpt:tNetAddr ); {procedure SendReply(const data; len:word; const rcpt:tSMsg );} procedure SendMessage(const data; len:word; const rcpt:tNetAddr; channel:word ); @@ -45,7 +46,7 @@ var mNow:tMTime; { miliseconds since start } IMPLEMENTATION -USES SysUtils,Sockets,BaseUnix +USES SysUtils,BaseUnix ,Unix ; @@ -111,6 +112,10 @@ procedure s_SetupInet; var Terminated:boolean=false; +function GetSocket(const rcpt:tNetAddr):tSocket; + begin + result:=s_inet; +end; procedure SendMessage(const data; len:word; const rcpt:tSockAddrL ); begin {SC(@fpsendto,}fpsendto(s_inet,@data,len,0,@rcpt,sizeof(sockaddr_in)){)}; @@ -303,7 +308,7 @@ procedure Main; if DoSock(PollArr[0]) then if assigned(curhndo) then curhndo(msg) else if assigned(curhnd) then curhnd(msg) - else raise eXception.Create('No handler for opcode '+IntToStr(Buffer[1])); + else {raise eXception.Create('}writeln('ServerLoop: No handler for opcode '+IntToStr(Buffer[1])); {INET6...} {Generic} for tp:=1 to pollTop do if PollArr[tp].revents>0 then begin @@ -312,9 +317,7 @@ procedure Main; end; end; end; - write('Loop broken ['); CloseSocket(s_inet); - writeln(']'); end; procedure SetMsgHandler(OpCode:byte; handler:tMessageHandler); diff --git a/brodnetd.pas b/brodnetd.pas index 6b8f84c..757bd87 100644 --- a/brodnetd.pas +++ b/brodnetd.pas @@ -1,14 +1,10 @@ PROGRAM brodnetd; { Poll loop. Read message, get handler, exec handler. } -uses ServerLoop +uses cthreads,ServerLoop ,TestWatch - ,TestTC ,TestChat ,AsyncProcess - ,upmgr - ,TestFS - ,Download ; BEGIN -- 2.11.4.GIT