Skip to content

Commit 483ba89

Browse files
author
Veijo Pesonen
committed
Fixes a serial mutex acquicition bug
1 parent ac4384c commit 483ba89

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

ESP8266/ESP8266.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -624,13 +624,16 @@ int32_t ESP8266::_recv_tcp_passive(int id, void *data, uint32_t amount, uint32_t
624624
{
625625
int32_t ret;
626626

627+
_smutex.lock();
628+
629+
_process_oob(timeout, true);
630+
627631
// return immediately if no data is available
628-
if (_sock_i[id].tcp_data_avbl == 0) {
632+
if (_sock_i[id].tcp_data_avbl == 0 && _sock_i[id].open) {
633+
_smutex.unlock();
629634
return NSAPI_ERROR_WOULD_BLOCK;
630635
}
631636

632-
_smutex.lock();
633-
634637
_sock_i[id].tcp_data = (char*)data;
635638
_sock_i[id].tcp_data_rcvd = NSAPI_ERROR_WOULD_BLOCK;
636639
_sock_active_id = id;

0 commit comments

Comments
 (0)