daemon: Explicitly close EMANE event service files.

This commit is contained in:
Tom Goff 2016-03-04 16:57:56 -05:00
parent d681534b17
commit 76bf200f41

View file

@ -76,6 +76,17 @@ class Emane(ConfigurableManager):
if self.verbose: if self.verbose:
self.info("using EMANE version: %s" % self.versionstr) self.info("using EMANE version: %s" % self.versionstr)
def deleteeventservice(self):
if hasattr(self, 'service'):
if self.service:
for fd in self.service._readFd, self.service._writeFd:
if fd >= 0:
os.close(fd)
for f in self.service._socket, self.service._socketOTA:
if f:
f.close()
del self.service
def initeventservice(self, filename=None, shutdown=False): def initeventservice(self, filename=None, shutdown=False):
''' (Re-)initialize the EMANE Event service. ''' (Re-)initialize the EMANE Event service.
The multicast group and/or port may be configured. The multicast group and/or port may be configured.
@ -84,8 +95,7 @@ class Emane(ConfigurableManager):
- For version >= 0.9.1 this is passed into the EventService - For version >= 0.9.1 this is passed into the EventService
constructor. constructor.
''' '''
if hasattr(self, 'service'): self.deleteeventservice()
del self.service
self.service = None self.service = None
# EMANE 0.9.1+ does not require event service XML config # EMANE 0.9.1+ does not require event service XML config