diff options
Diffstat (limited to 'nest/proto.c')
-rw-r--r-- | nest/proto.c | 14 |
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); } |