From the man page for select ():
in writefds will be observed whether the record will block
For a file descriptor associated with a TCP / IP connection, how does the select () function determine when a connection can be written without blocking? An alternative way to formulate my question would also be, what are the conditions when select () returns, indicating that the file descriptor can be written without blocking?
I would suggest that select () will not return fd to fd_set if the send buffer is full. If true, is this the only consideration? I can present many possible criteria for determining whether a record should be blocked or not, so I am interested to know how it works on Linux.
source
share