Node:Interrupt Input, Next:IOCTLs, Previous:File Locks, Up:Low-Level I/O
If you set the O_ASYNC status flag on a file descriptor
(see File Status Flags), a SIGIO signal is sent whenever
input or output becomes possible on that file descriptor.  The process
or process group to receive the signal can be selected by using the
F_SETOWN command to the fcntl function.  If the file
descriptor is a socket, this also selects the recipient of SIGURG
signals that are delivered when out-of-band data arrives on that socket;
see Out-of-Band Data.  (SIGURG is sent in any situation
where select would report the socket as having an "exceptional
condition".  See Waiting for I/O.)
If the file descriptor corresponds to a terminal device, then SIGIO
signals are sent to the foreground process group of the terminal. 
See Job Control.
The symbols in this section are defined in the header file
fcntl.h.
| int F_GETOWN | Macro | 
| This macro is used as the command argument to fcntl, to
specify that it should get information about the process or process
group to whichSIGIOsignals are sent.  (For a terminal, this is
actually the foreground process group ID, which you can get usingtcgetpgrp; see Terminal Access Functions.)The return value is interpreted as a process ID; if negative, its absolute value is the process group ID. The following  
 | 
| int F_SETOWN | Macro | 
| This macro is used as the command argument to fcntl, to
specify that it should set the process or process group to whichSIGIOsignals are sent.  This command requires a third argument
of typepid_tto be passed tofcntl, so that the form of
the call is:fcntl (filedes, F_SETOWN, pid) The pid argument should be a process ID. You can also pass a negative number whose absolute value is a process group ID. The return value from  
 |