summaryrefslogtreecommitdiff
path: root/server/streamer.c
diff options
context:
space:
mode:
Diffstat (limited to 'server/streamer.c')
-rw-r--r--server/streamer.c6
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);
}