On Thu, 7 Jun 2001, Mark Murray wrote:

> > That explains... Attached patch solved the problem for me.
> 
> I have a functionally similar but less clean patch in BDE's court
> for testing. Thanks for letting me know this works - I'll commit
> it.

Yours seems to be more clean (it's shorter and uses to fewer gotos).
Why not reduce it to 1 line by putting the sigprocmask() together with
the tcsetattr() for the usual case like it already is for the unusual
case?

Index: misc_conv.c
===================================================================
RCS file: /home/ncvs/src/contrib/libpam/libpam_misc/misc_conv.c,v
retrieving revision 1.4
diff -u -2 -r1.4 misc_conv.c
--- misc_conv.c 2001/06/04 20:59:49     1.4
+++ misc_conv.c 2001/06/07 10:19:02
@@ -182,4 +182,5 @@
            nc = read(STDIN_FILENO, line, INPUTSIZE-1);
            if (have_term) {
+               (void)_sigprocmask(SIG_SETMASK, &oset, NULL);
                (void) tcsetattr(STDIN_FILENO, TCSADRAIN, &term_before);
                if (!echo || expired)             /* do we need a newline? */

Bruce


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to