From ee9b076b769c20cc0f27fcd1e5805e0be0e6fa43 Mon Sep 17 00:00:00 2001 From: Thulinma Date: Fri, 26 Oct 2018 16:12:53 +0200 Subject: [PATCH] Limit how long startInput() will wait for an input to finish booting or shutting down --- lib/stream.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/stream.cpp b/lib/stream.cpp index eb06bf6e..faeeb5f6 100644 --- a/lib/stream.cpp +++ b/lib/stream.cpp @@ -143,7 +143,9 @@ bool Util::startInput(std::string streamname, std::string filename, bool forkFir //Note: this uses the _whole_ stream name, including + (if any). //This means "test+a" and "test+b" have separate locks and do not interact with each other. uint8_t streamStat = getStreamStatus(streamname); - while (streamStat != STRMSTAT_OFF && streamStat != STRMSTAT_READY && (!isProvider || streamStat != STRMSTAT_WAIT)){ + //Wait for a maximum of 240 x 250ms sleeps = 60 seconds + size_t sleeps = 0; + while (++sleeps < 240 && streamStat != STRMSTAT_OFF && streamStat != STRMSTAT_READY && (!isProvider || streamStat != STRMSTAT_WAIT)){ if (streamStat == STRMSTAT_BOOT && overrides.count("throughboot")){ break; }