summaryrefslogtreecommitdiff
path: root/nest/proto.c
diff options
context:
space:
mode:
Diffstat (limited to 'nest/proto.c')
-rw-r--r--nest/proto.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/nest/proto.c b/nest/proto.c
index 887d3e5e..53d3f1a2 100644
--- a/nest/proto.c
+++ b/nest/proto.c
@@ -512,20 +512,22 @@ protos_commit(struct config *new, struct config *old, int force_reconfig, int ty
else if (!p->disabled && nc->disabled)
log(L_INFO "Disabling protocol %s", p->name);
- PD(p, "Restarting");
p->down_code = nc->disabled ? PDC_CF_DISABLE : PDC_CF_RESTART;
p->cf_new = nc;
}
- else
+ else if (!shutting_down)
{
- if (!shutting_down)
- log(L_INFO "Removing protocol %s", p->name);
- PD(p, "Unconfigured");
+ log(L_INFO "Removing protocol %s", p->name);
p->down_code = PDC_CF_REMOVE;
p->cf_new = NULL;
}
- p->reconfiguring = 1;
+ else /* global shutdown */
+ {
+ p->down_code = PDC_CMD_SHUTDOWN;
+ p->cf_new = NULL;
+ }
+ p->reconfiguring = 1;
config_add_obstacle(old);
proto_rethink_goal(p);
}