"system" call to find out if there is data to be read.
Alan D. Brunelle
adb at elrond.CalComp.COM
Fri Mar 4 04:33:30 AEST 1988
I am looking for information regarding simulation of the BSD "select"
system call on a Motorola SysV Delta box. The OS has some of the
BSD extensions (sans the select, and the ioctl(FIONREAD)).
Here is what I would like to do (sort of ...):
/*
* Cause SIGIO on any input from any of my sockets
*/
foreach (socket connection) do
fcntl(socket, F_SETOWN, pid);
/*
* Now sit and wait for the Input
*/
old_mask = sigblock( sigmask(SIGIO) );
sigpause(0);
/*
* Have signal, now see which socket(s) it applies to
*/
foreach (socket connection) do
if (socket has outstanding data)
add socket to set of sockets with input
sigsetmask(old_mask);
return set of sockets with input outstanding
Now what I need to know is how to do
if (socket has outstanding data)
in a System V box that doesn't have the ioctl(FIONREAD).
Any help would be appreciated.
Thanks
al
/-----------------------------------------------------------------------\
| Alan D. Brunelle (adb at elrond.CalComp.COM) (603) 885-8145 |
| Calcomp (A Lockheed Company) Display Products Division |
| PTP2-2D02 Hudson NH 03051-0908 "We draw on your imagination" (tm) |
\-----------------------------------------------------------------------/
More information about the Comp.unix.wizards
mailing list