From a8a4fbb767bacac355530eefe20e60c08334b621 Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Thu, 17 Mar 2022 10:36:45 -0700 Subject: [PATCH] Fix supervisor.reload Fixes #6170 --- main.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/main.c b/main.c index 070fb211d8..642207d3d5 100644 --- a/main.c +++ b/main.c @@ -413,6 +413,12 @@ STATIC bool run_code_py(safe_mode_t safe_mode, bool first_run, bool *simulate_re if (result.return_code & PYEXEC_RELOAD) { next_code_stickiness_situation |= SUPERVISOR_NEXT_CODE_OPT_STICKY_ON_RELOAD; + // Reload immediately unless the reload is due to autoreload. In that + // case, we wait below to see if any other writes occur. + if (supervisor_get_run_reason() != RUN_REASON_AUTO_RELOAD) { + skip_repl = true; + skip_wait = true; + } } else if (result.return_code == 0) { next_code_stickiness_situation |= SUPERVISOR_NEXT_CODE_OPT_STICKY_ON_SUCCESS; if (next_code_options & SUPERVISOR_NEXT_CODE_OPT_RELOAD_ON_SUCCESS) {