]> git.pld-linux.org Git - packages/rpm.git/commitdiff
- patch from rpm auto/ac/db4_5-4_5_20_2-1 auto/th/db4_5-4_5_20-5 auto/th/db4_5-4_5_20-6 auto/th/db4_5-4_5_20-7 auto/ti/db4_5-4_5_20-7 auto/ti/db4_5-4_5_20-8 auto/ti/db4_5-4_5_20_2-1
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Thu, 28 Jun 2007 17:16:29 +0000 (17:16 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    db-rpm-robustness.patch -> 1.1

db-rpm-robustness.patch [new file with mode: 0644]

diff --git a/db-rpm-robustness.patch b/db-rpm-robustness.patch
new file mode 100644 (file)
index 0000000..1ff03f6
--- /dev/null
@@ -0,0 +1,47 @@
+; http://rpm5.org/cvs/chngview?cn=6633
+Index: db/mutex/mut_pthread.c
+RCS File: /v/rpm/cvs/db/mutex/mut_pthread.c,v
+rcsdiff -q -kk '-r1.3.2.3' '-r1.3.2.4' -u '/v/rpm/cvs/db/mutex/mut_pthread.c,v' 2>/dev/null
+--- db/mutex/mut_pthread.c     2006/10/01 22:31:46     1.3.2.3
++++ db/mutex/mut_pthread.c     2006/12/02 16:57:37     1.3.2.4
+@@ -71,7 +71,13 @@
+       pthread_mutexattr_t mutexattr, *mutexattrp = NULL;
+       if (!LF_ISSET(DB_MUTEX_PROCESS_ONLY)) {
++#if defined(EOWNERDEAD)
+               RET_SET((pthread_mutexattr_init(&mutexattr)), ret);
++              if (ret == 0) {
++                      RET_SET((pthread_mutexattr_setrobust_np(
++                          &mutexattr, PTHREAD_MUTEX_ROBUST_NP)), ret);
++              }
++#endif
+ #ifndef HAVE_MUTEX_THREAD_ONLY
+               if (ret == 0)
+                       RET_SET((pthread_mutexattr_setpshared(
+@@ -196,6 +202,12 @@
+ #endif
+       RET_SET((pthread_mutex_lock(&mutexp->mutex)), ret);
++#if defined(EOWNERDEAD)
++      if (ret == EOWNERDEAD) {
++              RET_SET((pthread_mutex_consistent_np(&mutexp->mutex)), ret);
++              ret = 0;
++      }
++#endif
+       if (ret != 0)
+               goto err;
+@@ -306,6 +318,12 @@
+ #endif
+       if (F_ISSET(mutexp, DB_MUTEX_SELF_BLOCK)) {
+               RET_SET((pthread_mutex_lock(&mutexp->mutex)), ret);
++#if defined(EOWNERDEAD)
++              if (ret == EOWNERDEAD) {
++                      RET_SET((pthread_mutex_consistent_np(&mutexp->mutex)), ret);
++                      ret = 0;
++              }
++#endif
+               if (ret != 0)
+                       goto err;
+
This page took 0.079611 seconds and 4 git commands to generate.