Add signal handler before starting process to verify using password prompt, fixing #3

This commit is contained in:
Animesh Sahu
2022-05-20 17:13:32 +05:30
parent 0832c9f973
commit 9107e1c09c

View File

@ -455,7 +455,6 @@ do_verify (sd_bus *bus, verify_data *data)
sigemptyset (&signals); sigemptyset (&signals);
sigaddset (&signals, SIGINT); sigaddset (&signals, SIGINT);
signal (SIGUSR1, handle_sigusr1);
sigaddset (&signals, SIGUSR1); sigaddset (&signals, SIGUSR1);
signal_fd = signalfd (signal_fd, &signals, SFD_NONBLOCK); signal_fd = signalfd (signal_fd, &signals, SFD_NONBLOCK);
@ -786,6 +785,8 @@ do_auth (pam_handle_t *pamh, const char *username)
data->stop_got_pw = false; data->stop_got_pw = false;
data->ppid = getpid(); data->ppid = getpid();
signal (SIGUSR1, handle_sigusr1);
pthread_t pw_prompt_thread; pthread_t pw_prompt_thread;
if (pthread_create (&pw_prompt_thread, NULL, (void*) &prompt_pw, data) != 0) if (pthread_create (&pw_prompt_thread, NULL, (void*) &prompt_pw, data) != 0)
send_err_msg (pamh, _("Failed to create thread")); send_err_msg (pamh, _("Failed to create thread"));