aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/frontend.cpp
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-03-23 10:59:03 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-03-23 10:59:03 +0000
commit38d6dbecde1f47255663b38eaf2ebe11c60e3441 (patch)
tree1c36e4909149d8ffe53d2297f869243ff3ff600a /lib/dvb/frontend.cpp
parent1b1f07237c5de0f563bdc36d1c7439f1f5b35016 (diff)
downloadenigma2-38d6dbecde1f47255663b38eaf2ebe11c60e3441.tar.gz
enigma2-38d6dbecde1f47255663b38eaf2ebe11c60e3441.zip
fix for avoid false locks before new frontend parameters are written to tuner
Diffstat (limited to 'lib/dvb/frontend.cpp')
-rw-r--r--lib/dvb/frontend.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/dvb/frontend.cpp b/lib/dvb/frontend.cpp
index 5d991a47..6db2d091 100644
--- a/lib/dvb/frontend.cpp
+++ b/lib/dvb/frontend.cpp
@@ -371,7 +371,6 @@ int eDVBFrontend::openFrontend()
m_sn = new eSocketNotifier(eApp, m_fd, eSocketNotifier::Read);
CONNECT(m_sn->activated, eDVBFrontend::feEvent);
- m_sn->start();
return 0;
}
@@ -1175,6 +1174,8 @@ void eDVBFrontend::tuneLoop() // called by m_tuneTimer
void eDVBFrontend::setFrontend()
{
eDebug("setting frontend %d", m_fe);
+ m_sn->start();
+ feEvent(-1);
if (ioctl(m_fd, FE_SET_FRONTEND, &parm) == -1)
{
perror("FE_SET_FRONTEND failed");
@@ -1461,8 +1462,7 @@ RESULT eDVBFrontend::tune(const iDVBFrontendParameters &where)
if (m_type == -1)
return -ENODEV;
- feEvent(-1);
-
+ m_sn->stop();
m_sec_sequence.clear();
switch (m_type)