Date: Sat, 3 Feb 1996 10:34:44 +0800 (GMT+0800) From: "Orlando A. Andico" To: Michael Leodolter cc: DJGPP Mailing List Message-ID: MIME-Version: 1.0 >Look in > >ftp://lab1/psy.univie.ac.at/pub/tcplib-dj200/tcplib-dj200.1.diffsrc.gz > >for diffs. > >The file tcplib-dj200.1.diffsrc.gz contains diffs against >the original pub/djgpp/contrib/tcplib.zip > (From Martin Granell I think). > >Fixed: sockets,bind,select,... > >Not changed: "blockink socket calls" (for Orlando A. Andico) > >Added: autobind,... , DJ200-compile > >Authors: Ulrich & Michael Leodolter I have a question as I'm not really up to speed on blocking socket calls. Comer (1995) in his book says that the call (ex. select) will block (or halt program execution) until something happens. This is the default behavior of accept, at least that's what I see in my programs. If TCPLIB as quoted above doesn't support blocking socket calls, a) does it return immediately? (i.e. *timeout == 0) b) is *timeout > 0 supported? (block for specified time?) I got the impression (from my DJGPP port of a Unix daemon) that only polling I/O is supported. Is this right? can I "simulate" the default Unix accept behavior like so: new_sock = -1; while (new_sock == -1) new_sock = accept (...); is this valid? how do I check for error conditions? (at least, for select, bits are set so we can differentiate true error conditions from those that just return nothing due to non-blocking behavior) Also, how stable is TCPLIB? can "real" TCP/IP applications (i.e. web daemons) be implemented with this library with a reasonable assurance of reliability? Thanks and regards, Orly NB reply to address below: ------------------------------------------------------------------------------ | Orlando A. Andico "I have no concept of time, other than | | oandico AT eee DOT upd DOT edu DOT ph it is flying." -- Alanis Morissette | ------------------------------------------------------------------------------