diff options
author | schmirl <schmirl> | 2007-04-02 10:35:29 +0000 |
---|---|---|
committer | schmirl <schmirl> | 2007-04-02 10:35:29 +0000 |
commit | 69b754bef9e45c3f92be1e37c177c41a1fcba41c (patch) | |
tree | 164d1c6c17ff550f2a27f3965506d6ff70aab68d /remux | |
parent | 525574f9b01275aaff3e1c923cc91404365d501e (diff) | |
download | vdr-plugin-streamdev-69b754bef9e45c3f92be1e37c177c41a1fcba41c.tar.gz vdr-plugin-streamdev-69b754bef9e45c3f92be1e37c177c41a1fcba41c.tar.bz2 |
Close pipe when externremux.sh is gone. Fixes high CPU load problem (#235)
Diffstat (limited to 'remux')
-rw-r--r-- | remux/extern.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/remux/extern.c b/remux/extern.c index 51c353c..3c95296 100644 --- a/remux/extern.c +++ b/remux/extern.c @@ -119,7 +119,15 @@ void cTSExt::Action(void) if (FD_ISSET(m_Outpipe, &rfds)) { int result; if ((result = m_ResultBuffer->Read(m_Outpipe)) == -1) { - LOG_ERROR_STR("read failed"); + if (errno != EINTR) { + LOG_ERROR_STR("read failed"); + m_Active = false; + } + break; + } + else if (result == 0) { + esyslog("streamdev-server: EOF reading from externremux"); + m_Active = false; break; } } |