aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsetrofim <setrofim@gmail.com>2017-10-12 16:34:48 +0100
committerGitHub <noreply@github.com>2017-10-12 16:34:48 +0100
commit16d5e0b6a78c676449596b3bae41ff65979b4181 (patch)
tree001ae8836cf72f0b0d5a3799cba3947b5a31754e
parent9837b4012bcf94d1fe97361e4fe0d50229428ea3 (diff)
parent4a6aacef992e1d5b78f9d80004936fb540740bf5 (diff)
downloaddevlib-16d5e0b6a78c676449596b3bae41ff65979b4181.tar.gz
Merge pull request #192 from derkling/acme_fix_iio-capture_release
Instrument/Acmecape: ensure iio-capture termination
-rw-r--r--devlib/instrument/acmecape.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/devlib/instrument/acmecape.py b/devlib/instrument/acmecape.py
index 818094f..5c10598 100644
--- a/devlib/instrument/acmecape.py
+++ b/devlib/instrument/acmecape.py
@@ -58,6 +58,12 @@ class AcmeCapeInstrument(Instrument):
self.add_channel('device', 'current')
self.add_channel('timestamp', 'time_ms')
+ def __del__(self):
+ if self.process and self.process.pid:
+ self.logger.warning('killing iio-capture process [%d]...',
+ self.process.pid)
+ self.process.kill()
+
def reset(self, sites=None, kinds=None, channels=None):
super(AcmeCapeInstrument, self).reset(sites, kinds, channels)
self.raw_data_file = tempfile.mkstemp('.csv')[1]
@@ -98,6 +104,7 @@ class AcmeCapeInstrument(Instrument):
.format(self.process.returncode, output))
if not os.path.isfile(self.raw_data_file):
raise HostError('Output CSV not generated.')
+ self.process = None
def get_data(self, outfile):
if os.stat(self.raw_data_file).st_size == 0: