BUG: raw_sock: also consider ENOTCONN in addition to EAGAIN
A failed send() may return ENOTCONN when the connection is not yet established. On Linux, we generally see EAGAIN but on OpenBSD we clearly have ENOTCONN, so let's ensure we poll for write when we encounter this error.
This commit is contained in:
parent
09f24569d4
commit
0ea0cf606e
|
@ -329,7 +329,7 @@ static int raw_sock_from_buf(struct connection *conn, struct buffer *buf, int fl
|
|||
if (ret < try)
|
||||
break;
|
||||
}
|
||||
else if (ret == 0 || errno == EAGAIN) {
|
||||
else if (ret == 0 || errno == EAGAIN || errno == ENOTCONN) {
|
||||
/* nothing written, we need to poll for write first */
|
||||
__conn_data_poll_send(conn);
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue