some PICloud and PIEthernet fixes

This commit is contained in:
Бычков Андрей
2022-11-09 17:04:13 +03:00
parent d3dd3fb32b
commit 8738043dce
6 changed files with 20 additions and 10 deletions

View File

@@ -764,8 +764,9 @@ ssize_t PIEthernet::readDevice(void * read_to, ssize_t max_size) {
return -1;
}
if (connected_) {
connected_ = false;
opened_ = false;
piCoutObj << "Disconnect on read," << ethErrorString();
opened_ = connected_ = false;
closeSocket(sock);
init();
disconnected(rs < 0);
@@ -855,8 +856,10 @@ ssize_t PIEthernet::writeDevice(const void * data, ssize_t max_size) {
}
if (!connected_) return -1;
auto disconnectFunc = [this](){
if (!connected_) return;
connected_ = false;
opened_ = false;
piCoutObj << "Disconnect on write," << ethErrorString();
opened_ = connected_ = false;
closeSocket(sock);
init();
disconnected(true);