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:
Willy Tarreau 2012-11-11 20:38:30 +01:00
parent 09f24569d4
commit 0ea0cf606e
1 changed files with 1 additions and 1 deletions

View File

@ -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;