output pid if timeoutet section table
[enigma2.git] / lib / dvb / esection.cpp
index 0af622521aad7e0ae1f7d6394774c4233068587e..d30aef46b2003227b7770aa10d48a79ac5a3d361 100644 (file)
@@ -23,7 +23,12 @@ void eGTable::sectionRead(const __u8 *d)
        {
                if (m_timeout)
                        m_timeout->stop();
-               m_reader->stop();
+               if (m_reader)
+               {
+                       m_reader->stop();
+                       m_reader=0;
+               }
+               m_sectionRead_conn=0;
                ready = 1;
                tableReady(error);
        } else if ((m_table.flags & eDVBTableSpec::tfHaveTimeout) && m_timeout)
@@ -32,8 +37,13 @@ void eGTable::sectionRead(const __u8 *d)
 
 void eGTable::timeout()
 {
-       eDebug("timeout!");
-       m_reader->stop();
+       eDebug("timeout %04x!", m_table.pid);
+       if (m_reader)
+       {
+               m_reader->stop();
+               m_reader=0;
+       }
+       m_sectionRead_conn=0;
        ready = 1;
        error = -1;
        tableReady(error);