aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb_ci
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-10-29 19:46:57 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-10-29 19:46:57 +0000
commit10e7e45ae92d4fe06f70126ed256b87896dbc432 (patch)
treef4b03eb252e5517ccb67be3cd8463c10e14e147c /lib/dvb_ci
parent6bb94cd5b0d8fd3608afe84e8d76aef554a4b401 (diff)
downloadenigma2-10e7e45ae92d4fe06f70126ed256b87896dbc432.tar.gz
enigma2-10e7e45ae92d4fe06f70126ed256b87896dbc432.zip
better solution to add possibility to delete eSocketNotifiers,
eConsoleAppContainers in callback funktions without crash
Diffstat (limited to 'lib/dvb_ci')
-rw-r--r--lib/dvb_ci/dvbci.cpp3
-rw-r--r--lib/dvb_ci/dvbci.h2
2 files changed, 2 insertions, 3 deletions
diff --git a/lib/dvb_ci/dvbci.cpp b/lib/dvb_ci/dvbci.cpp
index 9a3739a0..75250404 100644
--- a/lib/dvb_ci/dvbci.cpp
+++ b/lib/dvb_ci/dvbci.cpp
@@ -898,7 +898,7 @@ eDVBCISlot::eDVBCISlot(eMainloop *context, int nr)
if (fd >= 0)
{
- notifier = new eSocketNotifier(context, fd, eSocketNotifier::Read | eSocketNotifier::Priority | eSocketNotifier::Write);
+ notifier = eSocketNotifier::create(context, fd, eSocketNotifier::Read | eSocketNotifier::Priority | eSocketNotifier::Write);
CONNECT(notifier->activated, eDVBCISlot::data);
} else
{
@@ -908,7 +908,6 @@ eDVBCISlot::eDVBCISlot(eMainloop *context, int nr)
eDVBCISlot::~eDVBCISlot()
{
- delete notifier;
}
void eDVBCISlot::setAppManager( eDVBCIApplicationManagerSession *session )
diff --git a/lib/dvb_ci/dvbci.h b/lib/dvb_ci/dvbci.h
index 8fa313e2..4e3fcce2 100644
--- a/lib/dvb_ci/dvbci.h
+++ b/lib/dvb_ci/dvbci.h
@@ -44,7 +44,7 @@ class eDVBCISlot: public iObject, public Object
DECLARE_REF(eDVBCISlot);
int slotid;
int fd;
- eSocketNotifier *notifier;
+ ePtr<eSocketNotifier> notifier;
int state;
std::map<uint16_t, uint8_t> running_services;
eDVBCIApplicationManagerSession *application_manager;