Skip to content

Commit 22e0036

Browse files
RokamunThulinma
authored andcommitted
Fix output timeout while waiting for delay buffer
1 parent 0ec2800 commit 22e0036

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

src/output/output.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1076,8 +1076,13 @@ namespace Mist{
10761076
uint64_t delayTime = JSON::Value(targetParams["pushdelay"]).asInt()*1000;
10771077
if (endTime() - startTime() < delayTime){
10781078
uint64_t waitTime = delayTime - (endTime() - startTime());
1079+
uint64_t waitTarget = Util::bootMS() + waitTime;
10791080
INFO_MSG("Waiting for buffer to fill up: waiting %" PRIu64 "ms", waitTime);
1080-
Util::wait(waitTime);
1081+
while (Util::bootMS() < waitTarget && keepGoing()){
1082+
Util::sleep(250);
1083+
meta.reloadReplacedPagesIfNeeded();
1084+
stats();
1085+
}
10811086
if (endTime() - startTime() < delayTime){
10821087
WARN_MSG("Waited for %" PRIu64 "ms, but buffer still too small for a push delay of %" PRIu64 "ms. Doing the best we can.", waitTime, delayTime);
10831088
}

0 commit comments

Comments
 (0)