aboutsummaryrefslogtreecommitdiffstats
path: root/x11
diff options
context:
space:
mode:
Diffstat (limited to 'x11')
-rw-r--r--x11/xscreensaver-gnome/files/patch-driver_passwd-pam.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/x11/xscreensaver-gnome/files/patch-driver_passwd-pam.c b/x11/xscreensaver-gnome/files/patch-driver_passwd-pam.c
new file mode 100644
index 000000000000..0bd646582ff0
--- /dev/null
+++ b/x11/xscreensaver-gnome/files/patch-driver_passwd-pam.c
@@ -0,0 +1,30 @@
+--- driver/passwd-pam.c.orig Sat Jul 12 04:44:38 2003
++++ driver/passwd-pam.c Thu Feb 5 18:09:45 2004
+@@ -183,6 +183,7 @@
+ char *user = 0;
+ sigset_t set;
+ struct timespec timeout;
++ struct timeval tv;
+
+ struct passwd *p = getpwuid (getuid ());
+ if (!p) return False;
+@@ -249,8 +250,9 @@
+ timeout.tv_sec = 0;
+ timeout.tv_nsec = 1;
+ set = block_sigchld();
++ TIMESPEC_TO_TIMEVAL (&tv, &timeout);
+ status = pam_authenticate (pamh, 0);
+- sigtimedwait (&set, NULL, &timeout);
++ select (0, NULL, NULL, NULL, &tv);
+ unblock_sigchld();
+
+ if (verbose_p)
+@@ -289,7 +291,7 @@
+
+ set = block_sigchld();
+ status = pam_authenticate (pamh, 0);
+- sigtimedwait(&set, NULL, &timeout);
++ select (0, NULL, NULL, NULL, &tv);
+ unblock_sigchld();
+
+ if (verbose_p)