summaryrefslogtreecommitdiffstats
path: root/vtysh
diff options
context:
space:
mode:
authorChristian Hopps <chopps@labn.net>2023-07-14 22:13:54 +0200
committerChristian Hopps <chopps@labn.net>2023-07-15 00:24:30 +0200
commit76835fd55868b485b17c3f9091721335bd466cd8 (patch)
treec4beaf3f0c69ddf8fa72b3b81ac0b025e1ee3f0c /vtysh
parentMerge pull request #13717 from anlancs/fix/pimd-igmp-prot-back-2 (diff)
downloadfrr-76835fd55868b485b17c3f9091721335bd466cd8.tar.xz
frr-76835fd55868b485b17c3f9091721335bd466cd8.zip
lib: mgmtd: only clear pending for the in-progress command
The lock/unlocks are being done short-circuit so they are never pending; however, the handling of the unlock notification was always resuming the command if pending was set. In all cases pending is set for another command. For example implicit commit locks then when notified its done unlocks which was clearing the set-config pending flag and resuming that command incorrectly. Signed-off-by: Christian Hopps <chopps@labn.net>
Diffstat (limited to 'vtysh')
-rw-r--r--vtysh/vtysh.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c
index ee52a98ad..6744bfe72 100644
--- a/vtysh/vtysh.c
+++ b/vtysh/vtysh.c
@@ -2356,6 +2356,7 @@ static int vtysh_exit(struct vty *vty)
if (vty->node == CONFIG_NODE) {
/* resync in case one of the daemons is somewhere else */
vtysh_execute("end");
+ /* NOTE: a rather expensive thing to do, can we avoid it? */
vtysh_execute("configure terminal file-lock");
}
return CMD_SUCCESS;