summaryrefslogtreecommitdiffstats
path: root/src/kadmin/v5server/srv_acl.c
diff options
context:
space:
mode:
authorPaul Park <pjpark@mit.edu>1995-05-12 20:13:46 +0000
committerPaul Park <pjpark@mit.edu>1995-05-12 20:13:46 +0000
commitb690fdffd77d179a0634b45bf11730cab075bd86 (patch)
tree99dace8679f98f45bcd4bb4257a70fc0fcbe5271 /src/kadmin/v5server/srv_acl.c
parent9aa0011cba73352abcbe5fe8f8fd6d6a068e9987 (diff)
Check for and use POSIX signal/setjmp/longjmp
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@5808 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kadmin/v5server/srv_acl.c')
-rw-r--r--src/kadmin/v5server/srv_acl.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/kadmin/v5server/srv_acl.c b/src/kadmin/v5server/srv_acl.c
index 1e320daf17..5835434598 100644
--- a/src/kadmin/v5server/srv_acl.c
+++ b/src/kadmin/v5server/srv_acl.c
@@ -373,6 +373,9 @@ acl_init(kcontext, debug_level, acl_file)
char *acl_file;
{
krb5_error_code kret;
+#if POSIX_SIGNALS
+ struct sigaction s_action;
+#endif /* POSIX_SIGNALS */
kret = 0;
acl_debug_level = debug_level;
@@ -381,7 +384,14 @@ acl_init(kcontext, debug_level, acl_file)
((acl_file) ? acl_file : "(null)")));
acl_acl_file = (acl_file) ? acl_file : (char *) acl_default_file;
acl_inited = acl_load_acl_file();
+#if POSIX_SIGNALS
+ (void) sigemptyset(&s_action.sa_mask);
+ s_action.sa_flags = 0;
+ s_action.sa_handler = acl_reload_acl_file;
+ (void) sigaction(SIGALRM, &s_action, (struct sigaction *) NULL);
+#else /* POSIX_SIGNALS */
signal(SIGHUP, acl_reload_acl_file);
+#endif /* POSIX_SIGNALS */
DPRINT(DEBUG_CALLS, acl_debug_level, ("X acl_init() = %d\n", kret));
return(kret);
}