X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=driver%2Fpasswd-pam.c;h=d463bc2de068da1e0129e4f012ed53ce2b08ba60;hp=930c6ca2801ea349ff5e67a6ee22e7b49ab7c112;hb=4361b69d3178d7fc98d0388f9a223af6c2651aba;hpb=d6b0217f2417bd19187f0ebc389d6c5c2233b11c diff --git a/driver/passwd-pam.c b/driver/passwd-pam.c index 930c6ca2..d463bc2d 100644 --- a/driver/passwd-pam.c +++ b/driver/passwd-pam.c @@ -1,7 +1,7 @@ /* passwd-pam.c --- verifying typed passwords with PAM * (Pluggable Authentication Modules.) * written by Bill Nottingham (and jwz) for - * xscreensaver, Copyright (c) 1993-2016 Jamie Zawinski + * xscreensaver, Copyright (c) 1993-2017 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -184,8 +184,10 @@ pam_try_unlock(saver_info *si, Bool verbose_p, pam_handle_t *pamh = 0; int status = -1; struct pam_conv pc; +# ifdef HAVE_SIGTIMEDWAIT sigset_t set; struct timespec timeout; +# endif /* HAVE_SIGTIMEDWAIT */ pc.conv = &pam_conversation; pc.appdata_ptr = (void *) si; @@ -243,9 +245,12 @@ pam_try_unlock(saver_info *si, Bool verbose_p, if (verbose_p) fprintf (stderr, "%s: pam_authenticate (...) ...\n", blurb()); +# ifdef HAVE_SIGTIMEDWAIT timeout.tv_sec = 0; timeout.tv_nsec = 1; - set = block_sigchld(); + set = +# endif /* HAVE_SIGTIMEDWAIT */ + block_sigchld(); status = pam_authenticate (pamh, 0); # ifdef HAVE_SIGTIMEDWAIT sigtimedwait (&set, NULL, &timeout);