1 ; http://rpm5.org/cvs/chngview?cn=6633
2 Index: db/mutex/mut_pthread.c
3 RCS File: /v/rpm/cvs/db/mutex/mut_pthread.c,v
4 rcsdiff -q -kk '-r1.3.2.3' '-r1.3.2.4' -u '/v/rpm/cvs/db/mutex/mut_pthread.c,v' 2>/dev/null
5 --- db/mutex/mut_pthread.c 2006/10/01 22:31:46 1.3.2.3
6 +++ db/mutex/mut_pthread.c 2006/12/02 16:57:37 1.3.2.4
8 pthread_mutexattr_t mutexattr, *mutexattrp = NULL;
10 if (!LF_ISSET(DB_MUTEX_PROCESS_ONLY)) {
11 +#if defined(EOWNERDEAD)
12 RET_SET((pthread_mutexattr_init(&mutexattr)), ret);
14 + RET_SET((pthread_mutexattr_setrobust_np(
15 + &mutexattr, PTHREAD_MUTEX_ROBUST_NP)), ret);
18 #ifndef HAVE_MUTEX_THREAD_ONLY
20 RET_SET((pthread_mutexattr_setpshared(
24 RET_SET((pthread_mutex_lock(&mutexp->mutex)), ret);
25 +#if defined(EOWNERDEAD)
26 + if (ret == EOWNERDEAD) {
27 + RET_SET((pthread_mutex_consistent_np(&mutexp->mutex)), ret);
36 if (F_ISSET(mutexp, DB_MUTEX_SELF_BLOCK)) {
37 RET_SET((pthread_mutex_lock(&mutexp->mutex)), ret);
38 +#if defined(EOWNERDEAD)
39 + if (ret == EOWNERDEAD) {
40 + RET_SET((pthread_mutex_consistent_np(&mutexp->mutex)), ret);