Francois, and Arno,

>> while not terminated do
>>  begin
>>  WSocket.MessagePump;
>>  // check if I need to do something
>>  sleep(100);
>>  end;
>> // close it all down
>> Or am I missing the point in the use of the message pump?
> 
> Yes, you miss something. The code you've done will be very slow at 
> processing events because of the sleep. And it you remove the sleep, it will 
> use all CPU.
OK.
> 
> The solution is simple: you need to use a real message loop. Easy: just call 
> MessageLoop which all TWSocket instances have. To terminate the message 
> loop, you can post a WM_QUIT message when you detect your thread has 
> terminated.

If I do:
while not terminated do
  begin
  WSocket.MessageLoop;
  // check if I need to do something
  end;
// close it all down

Then my understanding from what you have said is that I only get to the
// check if I need to do something

when a quit is posted.

I am running a finite state machine in the execute loop, which marshalls 
responses, checks timeouts etc. If I don't exit the message loop, I can't do 
this.

Really sorry if I am missing the point on this. Long hours, fried brain.

Regards,

Andy
> 
> --
> [EMAIL PROTECTED]
> The author of the freeware multi-tier middleware MidWare
> The author of the freeware Internet Component Suite (ICS)
> http://www.overbyte.be
> 

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to