diff options
author | Greg Hudson <ghudson@mit.edu> | 2011-09-14 16:12:33 +0000 |
---|---|---|
committer | Greg Hudson <ghudson@mit.edu> | 2011-09-14 16:12:33 +0000 |
commit | 232ee45a29845cc8b31955bdc398ac335421e63c (patch) | |
tree | b295df8e6a31cf645b5f69f0afa7bcaf1b8ed770 /src/kadmin/server/ovsec_kadmd.c | |
parent | 6cae0a18e4fb6fc3469b5bdf75f888f580dbdec0 (diff) | |
download | krb5-232ee45a29845cc8b31955bdc398ac335421e63c.tar.gz krb5-232ee45a29845cc8b31955bdc398ac335421e63c.tar.xz krb5-232ee45a29845cc8b31955bdc398ac335421e63c.zip |
Split signal setup into loop_setup_signals()
In the KDC, set up signals in the worker process child after forking
from the monitor process. From npmccallum@redhat.com.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@25176 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kadmin/server/ovsec_kadmd.c')
-rw-r--r-- | src/kadmin/server/ovsec_kadmd.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/kadmin/server/ovsec_kadmd.c b/src/kadmin/server/ovsec_kadmd.c index fac5ccd249..63d1787cbc 100644 --- a/src/kadmin/server/ovsec_kadmd.c +++ b/src/kadmin/server/ovsec_kadmd.c @@ -357,7 +357,7 @@ int main(int argc, char *argv[]) exit(1); } - ctx = loop_init(VERTO_EV_TYPE_SIGNAL, global_server_handle, NULL); + ctx = loop_init(VERTO_EV_TYPE_SIGNAL); if (!ctx) { krb5_klog_syslog(LOG_ERR, _("%s: could not initialize loop, aborting"), @@ -369,6 +369,18 @@ int main(int argc, char *argv[]) exit(1); } + if ((ret = loop_setup_signals(ctx, global_server_handle, NULL))) { + const char *e_txt = krb5_get_error_message (context, ret); + krb5_klog_syslog(LOG_ERR, _("%s: %s while initializing signal " + "handlers, aborting"), whoami, e_txt); + fprintf(stderr, _("%s: %s while initializing signal " + "handlers, aborting\n"), whoami, e_txt); + loop_free(ctx); + kadm5_destroy(global_server_handle); + krb5_klog_close(context); + exit(1); + } + #define server_handle ((kadm5_server_handle_t)global_server_handle) if ((ret = loop_add_udp_port(server_handle->params.kpasswd_port)) || (ret = loop_add_tcp_port(server_handle->params.kpasswd_port)) |