Mail Archives: djgpp/1996/02/02/21:41:34
>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 |
------------------------------------------------------------------------------
- Raw text -