diff options
Diffstat (limited to 'server/streamer.c')
-rw-r--r-- | server/streamer.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/server/streamer.c b/server/streamer.c index 9a6f43e..ad4dcc5 100644 --- a/server/streamer.c +++ b/server/streamer.c @@ -54,6 +54,11 @@ void cStreamdevWriter::Action(void) if (block == NULL) { block = m_Streamer->Get(count); offset = 0; + // still no data - are we done? + if (block == NULL && !m_Streamer->IsReceiving() && timeout++ > 20) { + esyslog("streamdev-server: streamer done - writer exiting"); + break; + } } if (block != NULL) { @@ -100,6 +105,7 @@ void cStreamdevWriter::Action(void) } } } + m_Socket->Close(); Dprintf("Max. Transmit Blocksize was: %d\n", max); } |