tore%fdata.UUCP@nac.no (Tore Ingholm) (09/20/90)
Hi,
Since I had positive responses to my earlyer request in this list,
I will try again with some more problems to be solved. I have not
received all the documentation yet (32/700), so please excuse me if some
of this is trivial.
1. I am using select() to wait for data to be read from both a pipe
and a socket. Select returns with nfound = 1 but the bitmask is
zero, there is no way to identify which descriptor was ready for
reading. Perhaps this functionality is not supported for pipes, or
am I doing something wrong?
int readfds, nfound;
readfds = (1 << Socket_fd) | (1 << Pipe_fd);
nfound = select(MAXFDS, (int *)&readfds, 0, 0, (struct timeval *)0);
--- nfound is 1 and readfds is 0
2. How do I set nonblocking I/O on a TCP-socket, functionality similar to the
nonblocking() call in Towernet lib. I have looked at the header file
inetioctl.h and tried with ioctl(s, FIONBIO, 0), but this resulted
in errno = 2 after next recv(). As said earlier, I am missing some
documentation, so I have to ask here, how should this be done right?
3. How do I arrange for delivery of a given signal upon receipt of data
on a TCP-socket, functionality similar to the async() call in Towernet lib?
--
Tore Ingholm mail: mcsun!nuug!fdata!tore
Fellesdata AS (or) tore%fdata.UUCP@nac.no
Box 248 Skoeyen, tel: +47-2 ( 52-86-13 / 52-80-80 )
N-0212 OSLO 2, NORWAY fax: +47 2 52 85 10