How would I specify a timeout? Sockaccept doesn't seem to have an argument for timeout.
Thanks, David Ruggles CCNA MCSE (NT) CNA A+ Network Engineer Safe Data, Inc. (910) 285-7200 [EMAIL PROTECTED] -----Original Message----- From: David Ashley [mailto:[EMAIL PROTECTED] Sent: Tuesday, October 07, 2008 12:07 PM To: Open Object Rexx Developer Mailing List Subject: Re: [Oorexx-devel] Sockets on Linux David Ruggles wrote: > I saw that Mark modified the socket samples to include the shebang line so > you can execute them on Linux. > > Well I realized I hadn't tested them on Linux so I have started to do that. > I ran in to an issue, but I don't know if it is something we can fix or not. > > When you issue a sockaccept it will hang the thread waiting for a new > connection. On windows, if you issue a sockclose from another thread > sockaccept returns an error which you can trap and use to shutdown cleanly. > On Linux, sockaccept ignores the sockclose and still wait for a connection. > If you connect to the server, the next call to sockaccept (after the call to > sockclose) will fail and everything will shutdown. > > I am using the 3.2 to do the testing if that makes a difference. > > Thanks, > > David Ruggles > CCNA MCSE (NT) CNA A+ > Network Engineer Safe Data, Inc. > (910) 285-7200 [EMAIL PROTECTED] > > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Oorexx-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/oorexx-devel > > David - The way Windows allows a close operation on an essentially busy socket is in strict violation of the POSIX standard for sockets. The method that should be used is to add a timeout to the accept operation so that the socket is not busy and a close operation has a chance to work. Most *nix server application I have worked on add a 3 minute timeout on the accept operation and then loop back and do another accept operation after some housekeeping is performed. They usually coordinate a close operation on the sever socket with an event semaphore that is read during the housekeeping stage of the accept loop. David Ashley ooRexx Team ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Oorexx-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/oorexx-devel No virus found in this incoming message. Checked by AVG - http://www.avg.com Version: 8.0.173 / Virus Database: 270.7.5/1702 - Release Date: 10/6/2008 9:23 AM ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Oorexx-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/oorexx-devel
