mirror of
https://github.com/arduino/Arduino.git
synced 2025-02-21 15:54:39 +01:00
Fix issue on write error
This commit is contained in:
parent
970dd043ce
commit
28df8dc4b1
@ -70,12 +70,17 @@ size_t WiFiClient::write(const uint8_t *buf, size_t size) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if ((!ServerDrv::sendData(_sock, buf, size)) ||
|
if (!ServerDrv::sendData(_sock, buf, size))
|
||||||
(!ServerDrv::checkDataSent(_sock)))
|
|
||||||
{
|
{
|
||||||
setWriteError();
|
setWriteError();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
if (!ServerDrv::checkDataSent(_sock))
|
||||||
|
{
|
||||||
|
setWriteError();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -226,8 +226,8 @@ bool ServerDrv::sendData(uint8_t sock, const uint8_t *data, uint16_t len)
|
|||||||
|
|
||||||
uint8_t ServerDrv::checkDataSent(uint8_t sock)
|
uint8_t ServerDrv::checkDataSent(uint8_t sock)
|
||||||
{
|
{
|
||||||
const uint16_t TIMEOUT_DATA_SENT = 250;
|
const uint16_t TIMEOUT_DATA_SENT = 25;
|
||||||
static uint16_t timeout = 0;
|
uint16_t timeout = 0;
|
||||||
uint8_t _data = 0;
|
uint8_t _data = 0;
|
||||||
uint8_t _dataLen = 0;
|
uint8_t _dataLen = 0;
|
||||||
|
|
||||||
@ -250,7 +250,7 @@ uint8_t ServerDrv::checkDataSent(uint8_t sock)
|
|||||||
if (_data) timeout = 0;
|
if (_data) timeout = 0;
|
||||||
else{
|
else{
|
||||||
++timeout;
|
++timeout;
|
||||||
delay(10);
|
delay(100);
|
||||||
}
|
}
|
||||||
|
|
||||||
}while((_data==0)&&(timeout<TIMEOUT_DATA_SENT));
|
}while((_data==0)&&(timeout<TIMEOUT_DATA_SENT));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user