diff options
Diffstat (limited to 'lib/dvb/pmt.cpp')
| -rw-r--r-- | lib/dvb/pmt.cpp | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/lib/dvb/pmt.cpp b/lib/dvb/pmt.cpp index c0447b47..8364be53 100644 --- a/lib/dvb/pmt.cpp +++ b/lib/dvb/pmt.cpp @@ -671,7 +671,7 @@ ChannelMap eDVBCAService::exist_channels; ePtr<eConnection> eDVBCAService::m_chanAddedConn; eDVBCAService::eDVBCAService() - :m_sn(0), m_prev_build_hash(0), m_sendstate(0), m_retryTimer(eApp) + : m_prev_build_hash(0), m_sendstate(0), m_retryTimer(eApp) { memset(m_used_demux, 0xFF, sizeof(m_used_demux)); CONNECT(m_retryTimer.timeout, eDVBCAService::sendCAPMT); @@ -682,7 +682,6 @@ eDVBCAService::~eDVBCAService() { eDebug("[eDVBCAService] free service %s", m_service.toString().c_str()); ::close(m_sock); - delete m_sn; } // begin static methods @@ -876,10 +875,7 @@ void eDVBCAService::socketCB(int what) void eDVBCAService::Connect() { - if (m_sn) { - delete m_sn; - m_sn=0; - } + m_sn=0; memset(&m_servaddr, 0, sizeof(struct sockaddr_un)); m_servaddr.sun_family = AF_UNIX; strcpy(m_servaddr.sun_path, "/tmp/camd.socket"); @@ -892,7 +888,7 @@ void eDVBCAService::Connect() int val=1; fcntl(m_sock, F_SETFL, O_NONBLOCK); setsockopt(m_sock, SOL_SOCKET, SO_REUSEADDR, &val, 4); - m_sn = new eSocketNotifier(eApp, m_sock, + m_sn = eSocketNotifier::create(eApp, m_sock, eSocketNotifier::Read|eSocketNotifier::Priority|eSocketNotifier::Error|eSocketNotifier::Hungup); CONNECT(m_sn->activated, eDVBCAService::socketCB); |
