diff options
Diffstat (limited to 'usr.sbin/relayd/pfe.c')
-rw-r--r-- | usr.sbin/relayd/pfe.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/usr.sbin/relayd/pfe.c b/usr.sbin/relayd/pfe.c index 522607d9971..465763103da 100644 --- a/usr.sbin/relayd/pfe.c +++ b/usr.sbin/relayd/pfe.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pfe.c,v 1.40 2007/11/14 15:25:26 pyr Exp $ */ +/* $OpenBSD: pfe.c,v 1.41 2007/11/15 17:02:01 pyr Exp $ */ /* * Copyright (c) 2006 Pierre-Yves Ritschard <pyr@openbsd.org> @@ -361,8 +361,13 @@ pfe_dispatch_parent(int fd, short event, void * ptr) sizeof(struct hoststated) + IMSG_HEADER_SIZE) fatalx("corrupted reload data"); pfe_disable_events(); - purge_config(env, PURGE_EVERYTHING); + purge_config(env, PURGE_SERVICES|PURGE_TABLES); merge_config(env, (struct hoststated *)imsg.data); + /* + * no relays when reconfiguring yet. + */ + env->relays = NULL; + env->protos = NULL; env->tables = calloc(1, sizeof(*env->tables)); env->services = calloc(1, sizeof(*env->services)); |