diff --git a/supervisorctl.py b/supervisorctl.py index e5b81284892605c8063376fbaaa17feceb767d57_c3VwZXJ2aXNvcmN0bC5weQ==..c1e2564e721634bfb542266e58bff33232946ad1_c3VwZXJ2aXNvcmN0bC5weQ== 100644 --- a/supervisorctl.py +++ b/supervisorctl.py @@ -4,7 +4,17 @@ import json from typing import Any, Set, Tuple -from ovms import cmbdef, dvidef, iodef, lnmdef, mbxqio, prvdef, psldef, starlet +from ovms import ( + cmbdef, + crtl, + dvidef, + iodef, + lnmdef, + mbxqio, + prvdef, + psldef, + starlet, +) from ovms.rtl import lib supervisorctl_pwd = '' @@ -48,7 +58,10 @@ cmd['pwd'] = supervisorctl_pwd cmd['mbxreply'] = supervisorctl_mbxreply jscmd = json.dumps(cmd) - self.mcmd.write(jscmd.encode('ascii'), iodef.IO_M_READERCHECK) + try: + self.mcmd.write(jscmd.encode('ascii'), iodef.IO_M_READERCHECK) + except OSError as e: + crtl.vms_exit(e.errno) return json.loads( # self.mcmd_r.read(4096, iodef.IO_M_WRITERCHECK) # type: ignore self.mcmd_r.read(4096) # type: ignore