fixed dl
[hdw-linux/hdw-linux.git] / packages / base / bdb / mp.patch
1 *** ./mp/mp_fget.c.orig 25 Sep 2003 02:15:16 -0000      11.81
2 --- ./mp/mp_fget.c      9 Dec 2003 19:06:28 -0000       11.82
3 ***************
4 *** 440,446 ****
5                 c_mp->stat.st_pages--;
6                 alloc_bhp = NULL;
7                 R_UNLOCK(dbenv, &dbmp->reginfo[n_cache]);
8 -               MUTEX_LOCK(dbenv, &hp->hash_mutex);
9   
10                 /*
11                  * We can't use the page we found in the pool if DB_MPOOL_NEW
12 --- 440,445 ----
13 ***************
14 *** 455,460 ****
15 --- 454,462 ----
16                         b_incr = 0;
17                         goto alloc;
18                 }
19
20 +               /* We can use the page -- get the bucket lock. */
21 +               MUTEX_LOCK(dbenv, &hp->hash_mutex);
22                 break;
23         case SECOND_MISS:
24                 /*
25 *** ./mp/mp_fput.c.orig 30 Sep 2003 17:12:00 -0000      11.48
26 --- ./mp/mp_fput.c      13 Dec 2003 00:08:29 -0000      11.49
27 ***************
28 *** 285,290 ****
29 --- 285,291 ----
30                     bhp != NULL; bhp = SH_TAILQ_NEXT(bhp, hq, __bh))
31                         if (bhp->priority != UINT32_T_MAX &&
32                             bhp->priority > MPOOL_BASE_DECREMENT)
33 +                               bhp->priority -= MPOOL_BASE_DECREMENT;
34                 MUTEX_UNLOCK(dbenv, &hp->hash_mutex);
35         }
36   }