summaryrefslogtreecommitdiff
path: root/community/pam_pwcheck/pam_pwcheck-3.9-pthread.patch
diff options
context:
space:
mode:
Diffstat (limited to 'community/pam_pwcheck/pam_pwcheck-3.9-pthread.patch')
-rw-r--r--community/pam_pwcheck/pam_pwcheck-3.9-pthread.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/community/pam_pwcheck/pam_pwcheck-3.9-pthread.patch b/community/pam_pwcheck/pam_pwcheck-3.9-pthread.patch
new file mode 100644
index 000000000..ef007b469
--- /dev/null
+++ b/community/pam_pwcheck/pam_pwcheck-3.9-pthread.patch
@@ -0,0 +1,58 @@
+--- pam_pwcheck-3.9.orig/src/read-files.c 2005-10-10 13:38:30.000000000 -0500
++++ pam_pwcheck-3.9/src/read-files.c 2012-12-25 05:23:41.175269985 -0500
+@@ -30,8 +30,7 @@
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <nss.h>
+-#include <bits/libc-lock.h>
+-#define __libc_lock_t pthread_mutex_t
++#include <pthread.h>
+
+ #include "read-files.h"
+
+@@ -341,11 +340,11 @@
+ char *buffer, size_t buflen, int *errnop)
+ {
+ /* Locks the static variables in this file. */
+- __libc_lock_define_initialized (static, lock);
++ static pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER;
+ enum nss_status status;
+ FILE *stream = NULL;
+
+- __libc_lock_lock (lock);
++ pthread_mutex_lock (&lock);
+
+ status = internal_setent (&stream, "/shadow");
+ if (status == NSS_STATUS_SUCCESS)
+@@ -361,7 +360,7 @@
+ internal_endent (&stream);
+ }
+
+- __libc_lock_unlock (lock);
++ pthread_mutex_unlock (&lock);
+
+ return status;
+ }
+@@ -371,11 +370,11 @@
+ char *buffer, size_t buflen, int *errnop)
+ {
+ /* Locks the static variables in this file. */
+- __libc_lock_define_initialized (static, lock);
++ static pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER;
+ enum nss_status status;
+ FILE *stream = NULL;
+
+- __libc_lock_lock (lock);
++ pthread_mutex_lock (&lock);
+
+ status = internal_setent (&stream, "/passwd");
+ if (status == NSS_STATUS_SUCCESS)
+@@ -391,7 +390,7 @@
+ internal_endent (&stream);
+ }
+
+- __libc_lock_unlock (lock);
++ pthread_mutex_unlock (&lock);
+
+ return status;
+ }