Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.7.1, 5.8.0
-
None
Description
Because of fix of QTBUG-56009 there arisen bug when on disconnecting QModbusRtuSerialMaster would never close and would always be in QModbusDevice::ClosingState.
Source code to illustrate:
qmodbusdevice.cpp
void QModbusDevice::disconnectDevice()
{
setState(QModbusDevice::ClosingState);
//Unconnected is set by backend -> might be delayed by event loop
close();
}
qmodbusrtuserialmaster.cpp
void QModbusRtuSerialMaster::close() { if (state() == QModbusDevice::UnconnectedState || state() == QModbusDevice::ClosingState) { return; } setState(QModbusDevice::ClosingState); // ... }
Attachments
Issue Links
- is duplicated by
-
QTBUG-60444 void QModbusDevice::disconnectDevice() is not work correctly
-
- Closed
-
-
QTBUG-61046 Modbus can not really disconnect from the port
-
- Closed
-
For Gerrit Dashboard: QTBUG-59050 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
186740,3 | Fix QModbusRtuSerialMaster wouldn't close | 5.8 | qt/qtserialbus | Status: MERGED | +2 | 0 |
195654,2 | Fix QModbusRtuSerialMaster wouldn't close | 5.6 | qt/qtserialbus | Status: MERGED | +2 | 0 |