summaryrefslogtreecommitdiff
path: root/ci.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2003-02-16 11:20:55 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2003-02-16 11:20:55 +0100
commit9c04942eaac18f9a494c5ace7f3e73e62a820c47 (patch)
treee76bb7f87fb97ac075d251f383cf50310345b38f /ci.c
parent96df157057827185f94a150bf3c8a049f8bca369 (diff)
downloadvdr-9c04942eaac18f9a494c5ace7f3e73e62a820c47.tar.gz
vdr-9c04942eaac18f9a494c5ace7f3e73e62a820c47.tar.bz2
Broken CAM connections are now restored automatically
Diffstat (limited to 'ci.c')
-rw-r--r--ci.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/ci.c b/ci.c
index 06a08c43..d345a3ef 100644
--- a/ci.c
+++ b/ci.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: ci.c 1.6 2003/02/15 14:14:57 kls Exp $
+ * $Id: ci.c 1.7 2003/02/16 11:20:55 kls Exp $
*/
/* XXX TODO
@@ -1423,8 +1423,9 @@ int cCiHandler::CloseAllSessions(int Slot)
return result;
}
-void cCiHandler::Process(void)
+bool cCiHandler::Process(void)
{
+ bool result = true;
cMutexLock MutexLock(&mutex);
for (int Slot = 0; Slot < numSlots; Slot++) {
tc = tpl->Process(Slot);
@@ -1453,8 +1454,10 @@ void cCiHandler::Process(void)
}
}
}
- else if (CloseAllSessions(Slot))
+ else if (CloseAllSessions(Slot)) {
tpl->ResetSlot(Slot);
+ result = false;
+ }
else if (tpl->ModuleReady(Slot)) {
dbgprotocol("Module ready in slot %d\n", Slot);
tpl->NewConnection(Slot);
@@ -1464,6 +1467,7 @@ void cCiHandler::Process(void)
if (sessions[i])
sessions[i]->Process();
}
+ return result;
}
bool cCiHandler::EnterMenu(int Slot)