1
0
Fork 0

Fix poll handling

ycs232-kbc
Andy CA6JAU 6 years ago
parent 5a661d80b5
commit 387b5845b9

@ -292,9 +292,10 @@ int CYSFGateway::run()
}
if (m_ysfNetwork != NULL && m_linkType == LINK_YSF && !m_exclude) {
m_ysfNetwork->write(buffer);
if (::memcmp(buffer + 0U, "YSFD", 4U) == 0)
if (::memcmp(buffer + 0U, "YSFD", 4U) == 0) {
m_ysfNetwork->write(buffer);
m_inactivityTimer.start();
}
}
if (m_fcsNetwork != NULL && m_linkType == LINK_FCS && !m_exclude) {

@ -148,9 +148,13 @@ void CYSFNetwork::writeUnlink(unsigned int count)
void CYSFNetwork::clock(unsigned int ms)
{
unsigned char buffer[BUFFER_LENGTH];
in_addr address;
unsigned int port;
m_pollTimer.clock(ms);
if (m_pollTimer.isRunning() && m_pollTimer.hasExpired())
writePoll();
int length = m_socket.read(buffer, BUFFER_LENGTH, address, port);
if (length <= 0)
return;
@ -158,10 +162,6 @@ void CYSFNetwork::clock(unsigned int ms)
if (m_port == 0U)
return;
m_pollTimer.clock(ms);
if (m_pollTimer.isRunning() && m_pollTimer.hasExpired())
writePoll();
if (address.s_addr != m_address.s_addr || port != m_port)
return;

Loading…
Cancel
Save