diff options
author | schmirl <schmirl> | 2007-04-02 10:32:34 +0000 |
---|---|---|
committer | schmirl <schmirl> | 2007-04-02 10:32:34 +0000 |
commit | 525574f9b01275aaff3e1c923cc91404365d501e (patch) | |
tree | 0533e2aaecdd3e7a1fe26176d12895f9bd054bc0 /tools/source.c | |
parent | cd7d4e3588af2cc36c8366fc8d65d0627a372c32 (diff) | |
download | vdr-plugin-streamdev-525574f9b01275aaff3e1c923cc91404365d501e.tar.gz vdr-plugin-streamdev-525574f9b01275aaff3e1c923cc91404365d501e.tar.bz2 |
Close connection when client is gone. Fixes high CPU load problem (#201)
Modified Files:
server/connection.h server/connectionHTTP.h
server/connectionVTP.h server/server.c server/streamer.c
server/streamer.h tools/select.c tools/select.h tools/source.c
Diffstat (limited to 'tools/source.c')
-rw-r--r-- | tools/source.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/tools/source.c b/tools/source.c index c832e2f..80625e5 100644 --- a/tools/source.c +++ b/tools/source.c @@ -61,11 +61,11 @@ bool cTBSource::TimedWrite(const void *Buffer, size_t Length, uint TimeoutMs) { cTimeMs starttime; ms = TimeoutMs; offs = 0; + sel.Clear(); + sel.Add(m_Filed, true); while (Length > 0) { int b; - sel.Clear(); - sel.Add(m_Filed, true); if (sel.Select(ms) == -1) return false; @@ -90,11 +90,11 @@ bool cTBSource::SafeWrite(const void *Buffer, size_t Length) { int offs; offs = 0; + sel.Clear(); + sel.Add(m_Filed, true); while (Length > 0) { int b; - sel.Clear(); - sel.Add(m_Filed, true); if (sel.Select() == -1) return false; @@ -128,9 +128,9 @@ ssize_t cTBSource::ReadUntil(void *Buffer, size_t Length, const char *Seq, cTimeMs starttime; ms = TimeoutMs; + sel.Clear(); + sel.Add(m_Filed, false); while (m_LineBuffer.size() < BUFSIZ) { - sel.Clear(); - sel.Add(m_Filed, false); if (sel.Select(ms) == -1) return -1; |