X-Git-Url: https://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=pppd%2Fplugins%2Fpassprompt.c;h=44e381501fdd6eeb8e02148ddb892cdde5384198;hp=babb6dc31bab6f1d71d1cabedfd844ba2a4d5158;hb=c319558b8cacad7d27f04c7d612e44b67f273434;hpb=8edb889b753056a691a3e4b217a110a35f9fdedb diff --git a/pppd/plugins/passprompt.c b/pppd/plugins/passprompt.c index babb6dc..44e3815 100644 --- a/pppd/plugins/passprompt.c +++ b/pppd/plugins/passprompt.c @@ -74,7 +74,7 @@ static int promptpass(char *user, char *passwd) if (red == 0) break; if (red < 0) { - if (errno == EINTR) + if (errno == EINTR && !got_sigterm) continue; error("Can't read secret from %s: %m", promptprog); readgood = -1; @@ -86,7 +86,7 @@ static int promptpass(char *user, char *passwd) /* now wait for child to exit */ while (waitpid(kid, &wstat, 0) < 0) { - if (errno != EINTR) { + if (errno != EINTR || got_sigterm) { warn("error waiting for %s: %m", promptprog); break; }