X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fsystemctl.c;h=c09b31d1df08ed48892f6cb4c0eb0f97d9c2129d;hb=b1c0f1c1366eaec64a804c6011df867ea75ed295;hp=66903aba28a5a1c276e081fa65a9a713be0e93ea;hpb=7f6d613516020bf390d8de25bbbb2551ea8dade0;p=elogind.git diff --git a/src/systemctl.c b/src/systemctl.c index 66903aba2..c09b31d1d 100644 --- a/src/systemctl.c +++ b/src/systemctl.c @@ -141,6 +141,9 @@ static void spawn_ask_password_agent(void) { if (!arg_ask_password) return; + if (arg_user) + return; + parent = getpid(); /* Spawns a temporary TTY agent, making sure it goes away when @@ -177,7 +180,7 @@ static void spawn_ask_password_agent(void) { * call that expects to read EOF we actually do * generate EOF and not delay this indefinitely by * because we keep an unused copy of stdin around. */ - if ((fd = open("/dev/tty", O_RDWR|O_CLOEXEC|O_NONBLOCK)) < 0) { + if ((fd = open("/dev/tty", O_RDWR)) < 0) { log_error("Failed to open /dev/tty: %m"); _exit(EXIT_FAILURE); }