mirror of
https://github.com/RYDE-WORK/ballistica.git
synced 2026-02-08 00:30:22 +08:00
improved server subprocess launch failure error handling
This commit is contained in:
parent
d251aee045
commit
a09232daa1
@ -583,13 +583,20 @@ class ServerManagerApp:
|
|||||||
binary_name = ('ballisticacore_headless.exe'
|
binary_name = ('ballisticacore_headless.exe'
|
||||||
if os.name == 'nt' else './ballisticacore_headless')
|
if os.name == 'nt' else './ballisticacore_headless')
|
||||||
assert self._ba_root_path is not None
|
assert self._ba_root_path is not None
|
||||||
|
self._subprocess = None
|
||||||
|
try:
|
||||||
self._subprocess = subprocess.Popen(
|
self._subprocess = subprocess.Popen(
|
||||||
[binary_name, '-cfgdir', self._ba_root_path],
|
[binary_name, '-cfgdir', self._ba_root_path],
|
||||||
stdin=subprocess.PIPE,
|
stdin=subprocess.PIPE,
|
||||||
cwd='dist')
|
cwd='dist')
|
||||||
|
except Exception as exc:
|
||||||
|
print(f'Error launching server subprocess: {exc}',
|
||||||
|
file=sys.stderr,
|
||||||
|
flush=True)
|
||||||
|
|
||||||
# Do the thing.
|
# Do the thing.
|
||||||
# No matter how this ends up, make sure the process is dead after.
|
# No matter how this ends up, make sure the process is dead after.
|
||||||
|
if self._subprocess is not None:
|
||||||
try:
|
try:
|
||||||
self._run_subprocess_until_exit()
|
self._run_subprocess_until_exit()
|
||||||
finally:
|
finally:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user