What's a file descriptor's “exception”?

前端 未结 2 987
北荒
北荒 2021-02-13 02:11

When one calls select() asking which file descriptors have \"exceptions\" waiting, what does that mean?

How does one trigger one of these \"exceptions\"?

If anyo

2条回答
  •  野的像风
    2021-02-13 02:37

    Short form: exceptional situations occur when a TCP socket recieves out of band data.

    If you read the select manual page, you will find a reference to another supplementary manual page called select_tut with the explanation:

    exceptfds

    This set is watched for "exceptional conditions". In practice, only one such exceptional condition is common: the availability of out-of-band (OOB) data for reading from a TCP socket. See recv(2), send(2), and tcp(7) for more details about OOB data. (One other less common case where select(2) indicates an exceptional condition occurs with pseudo-terminals in packet mode; see tty_ioctl(4).) After select() has returned, exceptfds will be cleared of all file descriptors except for those for which an exceptional condition has occurred.

提交回复
热议问题