printout correction
All checks were successful
EIVE/eive-obsw/pipeline/pr-main This commit looks good

This commit is contained in:
Robin Müller 2023-10-13 10:04:03 +02:00
parent 5bc468f13f
commit 031be000d4
Signed by: muellerr
GPG Key ID: A649FB78196E3849

View File

@ -160,7 +160,19 @@ ReturnValue_t LiveTmTask::handleGenericTmQueue(MessageQueueIF& queue) {
}
if (!ptmeLocked) {
result = channel.write(data, size);
size_t partiallyWrittenSize = 0;
result = channel.write(data, size, partiallyWrittenSize);
if (result == DirectTmSinkIF::PARTIALLY_WRITTEN) {
// Already throttle CFDP.
signals::CFDP_CHANNEL_THROTTLE_SIGNAL = true;
result = channel.handleLastWriteSynchronously(data, size, partiallyWrittenSize, 200);
if (result != returnvalue::OK) {
// TODO: Event? Might lead to dangerous spam though..
sif::warning
<< "LiveTmTask: Synchronous write of last segment failed with code 0x"
<< std::setw(4) << std::hex << result << std::dec << std::endl;
}
}
}
// Try delete in any case, ignore failures (which should not happen), it is more important to
// propagate write errors.