]> git.pld-linux.org Git - packages/db4.7.git/blame - patch.4.7.25.2
drop (incomplete) epoch 0
[packages/db4.7.git] / patch.4.7.25.2
CommitLineData
77a24bd5
AM
1Index: lock/lock.c
2===================================================================
3RCS file: /a/CVSROOT/db/lock/lock.c,v
4retrieving revision 12.61
5diff -c -r12.61 lock.c
6*** lock/lock.c 22 Jul 2008 12:08:53 -0000 12.61
7--- lock/lock.c 19 Aug 2008 17:28:24 -0000
8***************
9*** 1278,1287 ****
10 SH_TAILQ_REMOVE(
11 &lt->obj_tab[obj_ndx], sh_obj, links, __db_lockobj);
12 if (sh_obj->lockobj.size > sizeof(sh_obj->objdata)) {
13! LOCK_REGION_LOCK(env);
14 __env_alloc_free(&lt->reginfo,
15 SH_DBT_PTR(&sh_obj->lockobj));
16! LOCK_REGION_UNLOCK(env);
17 }
18 SH_TAILQ_INSERT_HEAD(
19 &FREE_OBJS(lt, part_id), sh_obj, links, __db_lockobj);
20--- 1278,1289 ----
21 SH_TAILQ_REMOVE(
22 &lt->obj_tab[obj_ndx], sh_obj, links, __db_lockobj);
23 if (sh_obj->lockobj.size > sizeof(sh_obj->objdata)) {
24! if (region->part_t_size != 1)
25! LOCK_REGION_LOCK(env);
26 __env_alloc_free(&lt->reginfo,
27 SH_DBT_PTR(&sh_obj->lockobj));
28! if (region->part_t_size != 1)
29! LOCK_REGION_UNLOCK(env);
30 }
31 SH_TAILQ_INSERT_HEAD(
32 &FREE_OBJS(lt, part_id), sh_obj, links, __db_lockobj);
33***************
34*** 1470,1484 ****
35 if (obj->size <= sizeof(sh_obj->objdata))
36 p = sh_obj->objdata;
37 else {
38! LOCK_REGION_LOCK(env);
39 if ((ret =
40 __env_alloc(&lt->reginfo, obj->size, &p)) != 0) {
41 __db_errx(env,
42 "No space for lock object storage");
43! LOCK_REGION_UNLOCK(env);
44 goto err;
45 }
46! LOCK_REGION_UNLOCK(env);
47 }
48
49 memcpy(p, obj->data, obj->size);
50--- 1472,1492 ----
51 if (obj->size <= sizeof(sh_obj->objdata))
52 p = sh_obj->objdata;
53 else {
54! /*
55! * If we have only one partition, the region is locked.
56! */
57! if (region->part_t_size != 1)
58! LOCK_REGION_LOCK(env);
59 if ((ret =
60 __env_alloc(&lt->reginfo, obj->size, &p)) != 0) {
61 __db_errx(env,
62 "No space for lock object storage");
63! if (region->part_t_size != 1)
64! LOCK_REGION_UNLOCK(env);
65 goto err;
66 }
67! if (region->part_t_size != 1)
68! LOCK_REGION_UNLOCK(env);
69 }
70
71 memcpy(p, obj->data, obj->size);
This page took 0.064583 seconds and 4 git commands to generate.