diff options
author | Joseph Sutton <josephsutton@catalyst.net.nz> | 2023-05-17 09:06:17 +1200 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2023-05-18 01:03:37 +0000 |
commit | eeebd488f2a31482f2c47a1618513c937041c3ac (patch) | |
tree | 8b43d6c3130688022d0c97181e50bc19f7383f8b /third_party/heimdal/kuser/kinit.c | |
parent | f547cf1db865f93f634e561945da9da44c697f29 (diff) | |
download | samba-eeebd488f2a31482f2c47a1618513c937041c3ac.tar.gz |
third_party/heimdal: Import lorikeet-heimdal-202305160500 (commit 8836d64dee78a74aa740e31b7ad406b8a8cfdad0)
NOTE: THIS COMMIT WON’T COMPILE/WORK ON ITS OWN!
Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'third_party/heimdal/kuser/kinit.c')
-rw-r--r-- | third_party/heimdal/kuser/kinit.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/third_party/heimdal/kuser/kinit.c b/third_party/heimdal/kuser/kinit.c index 01cb8ed1a41..a374817a067 100644 --- a/third_party/heimdal/kuser/kinit.c +++ b/third_party/heimdal/kuser/kinit.c @@ -1263,16 +1263,18 @@ update_siginfo_msg(time_t exp, const char *srv) #ifdef HAVE_SIGACTION static void -handle_siginfo(int sig) +handler(int sig) { - struct iovec iov[2]; + if (sig == SIGINFO) { + struct iovec iov[2]; - iov[0].iov_base = rk_UNCONST(siginfo_msg); - iov[0].iov_len = strlen(siginfo_msg); - iov[1].iov_base = "\n"; - iov[1].iov_len = 1; + iov[0].iov_base = rk_UNCONST(siginfo_msg); + iov[0].iov_len = strlen(siginfo_msg); + iov[1].iov_base = "\n"; + iov[1].iov_len = 1; - writev(STDERR_FILENO, iov, sizeof(iov)/sizeof(iov[0])); + writev(STDERR_FILENO, iov, sizeof(iov)/sizeof(iov[0])); + } /* else ignore interrupts; our progeny will not ignore them */ } #endif @@ -1890,9 +1892,11 @@ main(int argc, char **argv) #ifdef HAVE_SIGACTION memset(&sa, 0, sizeof(sa)); sigemptyset(&sa.sa_mask); - sa.sa_handler = handle_siginfo; + sa.sa_handler = handler; sigaction(SIGINFO, &sa, NULL); + sigaction(SIGINT, &sa, NULL); + sigaction(SIGQUIT, &sa, NULL); #endif ret = simple_execvp_timed(argv[1], argv+1, |