summaryrefslogtreecommitdiffstats
path: root/src/kadmin/server/ovsec_kadmd.c
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2011-09-14 16:12:33 +0000
committerGreg Hudson <ghudson@mit.edu>2011-09-14 16:12:33 +0000
commit232ee45a29845cc8b31955bdc398ac335421e63c (patch)
treeb295df8e6a31cf645b5f69f0afa7bcaf1b8ed770 /src/kadmin/server/ovsec_kadmd.c
parent6cae0a18e4fb6fc3469b5bdf75f888f580dbdec0 (diff)
downloadkrb5-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.c14
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))