mirror of
https://github.com/systemd/systemd.git
synced 2025-03-28 02:50:16 +03:00
tty-ask-pwd-agent: treat SIGINT as a request to exit immediately
Unlike SIGTERM, SIGINT is now treated as a request to exit as soon as possible. IOW, if SIGINT is received, the agent wont process all remaining passwords before exiting. This allows a more comprehensive behavior when C-c is pressed and when the agent is spawned by systemctl. Before that patch, pressing C-c killed systemctl but left the agent waiting for a password since SIGINT was blocked. The result was pretty clumsy.
This commit is contained in:
parent
d325f2443e
commit
998c6da8ca
@ -515,7 +515,7 @@ static int process_and_watch_password_files(void) {
|
||||
return r;
|
||||
|
||||
assert_se(sigemptyset(&mask) >= 0);
|
||||
assert_se(sigset_add_many(&mask, SIGINT, SIGTERM, -1) >= 0);
|
||||
assert_se(sigset_add_many(&mask, SIGTERM, -1) >= 0);
|
||||
assert_se(sigprocmask(SIG_SETMASK, &mask, NULL) >= 0);
|
||||
|
||||
signal_fd = signalfd(-1, &mask, SFD_NONBLOCK|SFD_CLOEXEC);
|
||||
|
Loading…
x
Reference in New Issue
Block a user