Curl_send/recv_plain: return errno on failure

When send() and recv() fail, we now store the errno value to allow the
app to access it.

Bug: http://curl.haxx.se/bug/view.cgi?id=3128121
Reported by: Yuri
This commit is contained in:
Daniel Stenberg 2010-12-05 22:59:56 +01:00
parent 63598059cd
commit c2bfe60086

View File

@ -301,6 +301,7 @@ ssize_t Curl_send_plain(struct connectdata *conn, int num,
} else { } else {
failf(conn->data, "Send failure: %s", failf(conn->data, "Send failure: %s",
Curl_strerror(conn, err)); Curl_strerror(conn, err));
conn->data->state.os_errno = err;
*code = CURLE_SEND_ERROR; *code = CURLE_SEND_ERROR;
} }
} }
@ -355,6 +356,7 @@ ssize_t Curl_recv_plain(struct connectdata *conn, int num, char *buf,
} else { } else {
failf(conn->data, "Recv failure: %s", failf(conn->data, "Recv failure: %s",
Curl_strerror(conn, err)); Curl_strerror(conn, err));
conn->data->state.os_errno = err;
*code = CURLE_RECV_ERROR; *code = CURLE_RECV_ERROR;
} }
} }