From 69b754bef9e45c3f92be1e37c177c41a1fcba41c Mon Sep 17 00:00:00 2001 From: schmirl Date: Mon, 2 Apr 2007 10:35:29 +0000 Subject: Close pipe when externremux.sh is gone. Fixes high CPU load problem (#235) --- remux/extern.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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; } } -- cgit v1.2.3