summaryrefslogtreecommitdiffstats
path: root/src/kadmin/server/ovsec_kadmd.c
diff options
context:
space:
mode:
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))