Skip to content

Commit 404edb9

Browse files
author
Ranen Ghosh
committed
Fix emrun sporadic exit hang on Windows
1 parent bf910d6 commit 404edb9

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

emrun.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -704,6 +704,8 @@ def do_POST(self):
704704
if not emrun_options.serve_after_exit:
705705
page_exit_code = int(data[6:])
706706
logv('Web page has quit with a call to exit() with return code ' + str(page_exit_code) + '. Shutting down web server. Pass --serve-after-exit to keep serving even after the page terminates with exit().')
707+
if emrun_options.force_exit:
708+
self.server.socket.setblocking(False)
707709
self.server.shutdown()
708710
return
709711
else:
@@ -1563,6 +1565,9 @@ def parse_args(args):
15631565
parser.add_argument('--dump-out-directory', default='dump_out', type=str,
15641566
help='If specified, overrides the directory for dump files using emrun_file_dump method.')
15651567

1568+
parser.add_argument('--force-exit', action='store_true',
1569+
help='If true, sets server socket to nonblocking on shutdown to avoid sporadic deadlocks.')
1570+
15661571
parser.add_argument('serve', nargs='?', default='')
15671572

15681573
parser.add_argument('cmdlineparams', nargs='*')

0 commit comments

Comments
 (0)