| 25.4 SummarySignal-driven I/O has the kernel notify us with the SIGIO signal when "something" happens on a socket. With a connected TCP socket, numerous conditions can cause this notification, making this feature of little use.With a listening TCP socket, this notification occurs when a new connection is ready to be accepted.With UDP, this notification means either a datagram has arrived or an asynchronous error has arrived; in both cases, we call recvfrom.
 We modified our UDP echo server to use signal-driven I/O, using a technique similar to that used by NTP: read a datagram as soon as possible after it arrives to obtain an accurate timestamp for its arrival and then queue it for later processing.  |