From 9ee0fb9ea87776fe7524d19a0797f3c72c812569 Mon Sep 17 00:00:00 2001 From: Rob Swindell <rob@synchro.net> Date: Sun, 29 Nov 2020 11:39:50 -0800 Subject: [PATCH] Copy event last-run info from global config into node config Fixes issue introduced in last commit to this file (the each-node-has-its-own-config-in-memory enhancement) that would prevent users from logging in because their time was reduced for an upcoming event that had already run. The change assumes the event thread is running (its the thing that reads the event last-run info from time.dab). Thanks to mlong for the report. --- src/sbbs3/main.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index b9491edb30..672f0bfb47 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -5710,8 +5710,6 @@ NO_SSH: scfg_t* cfg = &node_scfg[i - 1]; if(cfg->size != sizeof(*cfg) || (node.misc & NODE_RRUN)) { sbbs->bprintf("Loading configuration..."); - free_cfg(cfg); - free_text(node_text[i - 1]); cfg->size = sizeof(*cfg); cfg->node_num = i; SAFECOPY(cfg->ctrl_dir, startup->ctrl_dir); @@ -5736,6 +5734,9 @@ NO_SSH: } sbbs->bputs(crlf); } + // Copy event last-run info from global config + for(int e=0; e < cfg->total_events && e < scfg.total_events; e++) + cfg->event[e]->last = scfg.event[e]->last; node_socket[i-1]=client_socket; -- GitLab