Mercurial > dovecot > original-hg > dovecot-1.2
diff src/master/login-process.c @ 635:90a65c017bf0 HEAD
SIGHUP reloads now settings. Logged in clients are left untouched, but
clients still logging in are killed.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Wed, 20 Nov 2002 21:20:23 +0200 |
parents | 0d852af6842e |
children | 36ac2fd352ff |
line wrap: on
line diff
--- a/src/master/login-process.c Wed Nov 20 20:33:40 2002 +0200 +++ b/src/master/login-process.c Wed Nov 20 21:20:23 2002 +0200 @@ -358,6 +358,20 @@ hash_foreach(processes, login_hash_cleanup, NULL); } +static void login_hash_destroy(void *key __attr_unused__, void *value, + void *context __attr_unused__) +{ + login_process_destroy(value); +} + +void login_processes_destroy_all(void) +{ + hash_foreach(processes, login_hash_destroy, NULL); + + /* don't double their amount when restarting */ + wanted_processes_count = 0; +} + static void login_processes_start_missing(void *context __attr_unused__, Timeout timeout __attr_unused__) { @@ -400,16 +414,10 @@ to = timeout_add(1000, login_processes_start_missing, NULL); } -static void login_hash_destroy(void *key __attr_unused__, void *value, - void *context __attr_unused__) -{ - login_process_destroy(value); -} - void login_processes_deinit(void) { timeout_remove(to); - hash_foreach(processes, login_hash_destroy, NULL); + login_processes_destroy_all(); hash_destroy(processes); }