From 11f4a0c6e1dc6d47c2867b0e29dd66588e45b232 Mon Sep 17 00:00:00 2001 From: schmirl Date: Fri, 10 Nov 2006 11:52:41 +0000 Subject: [PATCH] Use select with timeout and check if streamdev-server has to shutdown (#135). Thanks to Urig@vdrportal --- server/server.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/server/server.c b/server/server.c index 6c54451..b00f70d 100644 --- a/server/server.c +++ b/server/server.c @@ -1,5 +1,5 @@ /* - * $Id: server.c,v 1.3 2005/05/09 20:22:29 lordjaxom Exp $ + * $Id: server.c,v 1.4 2006/11/10 11:52:41 schmirl Exp $ */ #include "server/server.h" @@ -91,7 +91,12 @@ void cStreamdevServer::Action(void) select.Add(s->Socket(), true); } - if (select.Select() < 0) { + int result; + while ((result = select.Select(100)) < 0 && errno == ETIMEDOUT) { + if (!m_Active) break; + } + + if (result < 0) { if (m_Active) // no exit was requested while polling esyslog("fatal error, server exiting: %m"); break;