cli: "./run_electrum daemon -d" to block until daemon becomes ready
Without this, `$ python3 -m unittest electrum.tests.regtest.TestUnixSockets.test_unixsockets` was failing on my machine but succeeding on CI, due to timing differences.
This commit is contained in:
10
run_electrum
10
run_electrum
@@ -284,6 +284,7 @@ def sys_exit(i):
|
||||
|
||||
|
||||
def main():
|
||||
global loop, stop_loop, loop_thread
|
||||
# The hook will only be used in the Qt GUI right now
|
||||
util.setup_thread_excepthook()
|
||||
# on macOS, delete Process Serial Number arg generated for apps launched in Finder
|
||||
@@ -416,7 +417,13 @@ def main():
|
||||
sys.exit(1)
|
||||
if pid:
|
||||
print_stderr("starting daemon (PID %d)" % pid)
|
||||
sys.exit(0)
|
||||
loop, stop_loop, loop_thread = create_and_start_event_loop()
|
||||
ready = daemon.wait_until_daemon_becomes_ready(config=config, timeout=5)
|
||||
if ready:
|
||||
sys_exit(0)
|
||||
else:
|
||||
print_stderr("timed out waiting for daemon to get ready")
|
||||
sys_exit(1)
|
||||
else:
|
||||
# redirect standard file descriptors
|
||||
sys.stdout.flush()
|
||||
@@ -428,7 +435,6 @@ def main():
|
||||
os.dup2(so.fileno(), sys.stdout.fileno())
|
||||
os.dup2(se.fileno(), sys.stderr.fileno())
|
||||
|
||||
global loop, stop_loop, loop_thread
|
||||
loop, stop_loop, loop_thread = create_and_start_event_loop()
|
||||
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user