Each socket has an associated process group, just as a terminal does.
The socket's process group is initialized
to the process group of its creator, but may
be redefined at a later time with the
ioctl(s, SIOCSPGRP, &pgrp);
A similar ioctl, SIOCGPGRP, is available for determining the current process group of a socket.
The presence of out-of-band data is signaled to the socket's process group through the use of the SIGUSR1 signal (used where a BSD system would use the SIGURG signal).