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