This snippet is used twice in the transport.cpp
while (_jobs_running) {
TRACE("Transport::outbound: sleeping...");
OS::sleep(0.0005);
}
It is problematic as even if the _jobs_running state is held for only 50ms there will be 100 lines generated.
In a fault condition where the state is locked on, GBs of logs are generated in very short time. This can be fatal for small machines like Raspi Zero with small SD cards with single partitions.
It can also consume inordinate CPU and Wait time (esp with slow SD) which makes it hard to debug the actual fault causing the long _jobs_running state.
This snippet is used twice in the transport.cpp
It is problematic as even if the _jobs_running state is held for only 50ms there will be 100 lines generated.
In a fault condition where the state is locked on, GBs of logs are generated in very short time. This can be fatal for small machines like Raspi Zero with small SD cards with single partitions.
It can also consume inordinate CPU and Wait time (esp with slow SD) which makes it hard to debug the actual fault causing the long _jobs_running state.