diff options
| author | Martin Braun <martin.braun@ettus.com> | 2017-08-10 15:28:31 -0700 | 
|---|---|---|
| committer | Martin Braun <martin.braun@ettus.com> | 2017-12-22 15:04:01 -0800 | 
| commit | e25e52d9a8d3b789e2074a3924f8370e18fbd819 (patch) | |
| tree | 91fa5d57707250c90d6825fce3893921d04ae420 | |
| parent | 309a2f04e3da6667bc44c78121064b2d03e24e75 (diff) | |
| download | uhd-e25e52d9a8d3b789e2074a3924f8370e18fbd819.tar.gz uhd-e25e52d9a8d3b789e2074a3924f8370e18fbd819.tar.bz2 uhd-e25e52d9a8d3b789e2074a3924f8370e18fbd819.zip  | |
mpm: Catch multiprocess exception on exit
| -rwxr-xr-x | mpm/python/usrp_hwd.py | 7 | 
1 files changed, 6 insertions, 1 deletions
diff --git a/mpm/python/usrp_hwd.py b/mpm/python/usrp_hwd.py index 5a1457e1d..48af28d36 100755 --- a/mpm/python/usrp_hwd.py +++ b/mpm/python/usrp_hwd.py @@ -22,6 +22,7 @@ from __future__ import print_function  import sys  import argparse  from gevent import signal +from gevent.hub import BlockingSwitchOutError  import usrp_mpm as mpm  from usrp_mpm.mpmtypes import SharedState  from usrp_mpm.periph_manager import periph_manager @@ -95,7 +96,11 @@ def kill_time(sig, frame):          proc.terminate()          log.info("Terminating pid: {0}".format(proc.pid))      for proc in _PROCESSES: -        proc.join() +        try: +            proc.join() +        except BlockingSwitchOutError: +            log.debug("Caught BlockingSwitchOutError for {}".format(str(proc))) +            pass      log.info("System exiting")      sys.exit(0)  | 
