mbedtls port: Fix detection of EWOULDBLOCK/EAGAIN with non-blocking sockets

Previous code read non-blocking status via fcntl first, which resets errno.

Closes #424 https://github.com/espressif/esp-idf/pull/424
Merges #425 https://github.com/espressif/esp-idf/pull/425
pull/407/merge
Neil Kolban 2017-03-12 22:32:00 -05:00 zatwierdzone przez Angus Gratton
rodzic 4745895e22
commit 16e1a2716e
1 zmienionych plików z 2 dodań i 2 usunięć

Wyświetl plik

@ -203,6 +203,8 @@ int mbedtls_net_bind( mbedtls_net_context *ctx, const char *bind_ip, const char
*/
static int net_would_block( const mbedtls_net_context *ctx )
{
int error = mbedtls_net_errno(ctx->fd);
/*
* Never return 'WOULD BLOCK' on a non-blocking socket
*/
@ -210,8 +212,6 @@ static int net_would_block( const mbedtls_net_context *ctx )
return ( 0 );
}
int error = mbedtls_net_errno(ctx->fd);
switch ( error ) {
#if defined EAGAIN
case EAGAIN: