make isQueueFull() checking -- less aggressive;

pull/69/head
Bryan Biedenkapp 1 year ago
parent ceb3c90497
commit 0c247a2b37

@ -83,7 +83,7 @@ void fatal(const char* msg, ...)
va_end(vl); va_end(vl);
::fprintf(stderr, "%s: %s\n", g_progExe.c_str(), buffer); ::fprintf(stderr, "%s: FATAL PANIC; %s\n", g_progExe.c_str(), buffer);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }

@ -70,7 +70,7 @@ void fatal(const char* msg, ...)
va_end(vl); va_end(vl);
::fprintf(stderr, "%s: %s\n", g_progExe.c_str(), buffer); ::fprintf(stderr, "%s: FATAL PANIC; %s\n", g_progExe.c_str(), buffer);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }

@ -88,7 +88,7 @@ void fatal(const char* msg, ...)
va_end(vl); va_end(vl);
::fprintf(stderr, "%s: %s\n", g_progExe.c_str(), buffer); ::fprintf(stderr, "%s: FATAL PANIC; %s\n", g_progExe.c_str(), buffer);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }

@ -339,11 +339,17 @@ bool Slot::isQueueFull()
// tx immediate queue takes priority // tx immediate queue takes priority
if (!m_txImmQueue.isEmpty()) { if (!m_txImmQueue.isEmpty()) {
return !m_txImmQueue.hasSpace(DMR_FRAME_LENGTH_BYTES); uint32_t space = m_txImmQueue.freeSpace();
if (space < (DMR_FRAME_LENGTH_BYTES + 1U))
return true;
} }
else { else {
return !m_txQueue.hasSpace(DMR_FRAME_LENGTH_BYTES); uint32_t space = m_txQueue.freeSpace();
if (space < (DMR_FRAME_LENGTH_BYTES + 1U))
return true;
} }
return false;
} }
/* Get frame data from data ring buffer. */ /* Get frame data from data ring buffer. */

@ -492,11 +492,17 @@ bool Control::isQueueFull()
// tx immediate queue takes priority // tx immediate queue takes priority
if (!m_txImmQueue.isEmpty()) { if (!m_txImmQueue.isEmpty()) {
return !m_txImmQueue.hasSpace(NXDN_FRAME_LENGTH_BYTES); uint32_t space = m_txImmQueue.freeSpace();
if (space < (NXDN_FRAME_LENGTH_BYTES + 1U))
return true;
} }
else { else {
return !m_txQueue.hasSpace(NXDN_FRAME_LENGTH_BYTES); uint32_t space = m_txQueue.freeSpace();
if (space < (NXDN_FRAME_LENGTH_BYTES + 1U))
return true;
} }
return false;
} }
/* Get frame data from data ring buffer. */ /* Get frame data from data ring buffer. */

@ -706,11 +706,17 @@ bool Control::isQueueFull()
// tx immediate queue takes priority // tx immediate queue takes priority
if (!m_txImmQueue.isEmpty()) { if (!m_txImmQueue.isEmpty()) {
return !m_txImmQueue.hasSpace(P25_LDU_FRAME_LENGTH_BYTES); uint32_t space = m_txImmQueue.freeSpace();
if (space < (P25_LDU_FRAME_LENGTH_BYTES + 1U))
return true;
} }
else { else {
return !m_txQueue.hasSpace(P25_LDU_FRAME_LENGTH_BYTES); uint32_t space = m_txQueue.freeSpace();
if (space < (P25_LDU_FRAME_LENGTH_BYTES + 1U))
return true;
} }
return false;
} }
/* Get frame data from data ring buffer. */ /* Get frame data from data ring buffer. */

@ -58,7 +58,7 @@ void fatal(const char* msg, ...)
va_end(vl); va_end(vl);
::fprintf(stderr, "%s: %s\n", g_progExe.c_str(), buffer); ::fprintf(stderr, "%s: FATAL PANIC; %s\n", g_progExe.c_str(), buffer);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }

@ -158,7 +158,7 @@ static bool g_debug = false;
void fatal(const char* message) void fatal(const char* message)
{ {
::fprintf(stderr, "%s: %s\n", g_progExe.c_str(), message); ::fprintf(stderr, "%s: FATAL PANIC; %s\n", g_progExe.c_str(), message);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }

Loading…
Cancel
Save

Powered by TurnKey Linux.