diff options
author | Xin LI <delphij@FreeBSD.org> | 2008-12-15 18:15:24 +0000 |
---|---|---|
committer | Xin LI <delphij@FreeBSD.org> | 2008-12-15 18:15:24 +0000 |
commit | 693767be290b11092f24e5a983d720cb6e2f4f0d (patch) | |
tree | 716ed928edd0de50e4844a14af6a13398a4507a3 /databases | |
parent | 5607a893bfe9d0ccb219c3053cd9cdad049238d5 (diff) |
Notes
Diffstat (limited to 'databases')
-rw-r--r-- | databases/db47/Makefile | 8 | ||||
-rw-r--r-- | databases/db47/distinfo | 3 | ||||
-rw-r--r-- | databases/db47/files/patch-lock::lock.c | 42 |
3 files changed, 9 insertions, 44 deletions
diff --git a/databases/db47/Makefile b/databases/db47/Makefile index 2445b46c9872..55e48dae3c00 100644 --- a/databases/db47/Makefile +++ b/databases/db47/Makefile @@ -6,7 +6,7 @@ # PORTNAME= db47 -PORTVERSION= 4.7.25.1 +PORTVERSION= 4.7.25.2 CATEGORIES= databases MASTER_SITES= http://download-west.oracle.com/berkeley-db/ \ http://download-east.oracle.com/berkeley-db/ \ @@ -16,10 +16,14 @@ DISTNAME= db-${PORTVERSION:R} DIST_SUBDIR= bdb PATCH_SITES= http://www.oracle.com/technology/products/berkeley-db/db/update/${PORTVERSION:R}/ -PATCHFILES= patch.4.7.25.1 +PATCHFILES= patch.4.7.25.1 patch.4.7.25.2 PATCH_DIST_STRIP= -d .. --ignore-whitespace # * patch.4.7.25.1: ----------------------------------------------------------- # # [#16406] Replication clients should be able to open a sequence. +# +# * patch.4.7.25.2: ----------------------------------------------------------- +# # [#16415] DB_ENV->lock_get may self deadlock if user defined locks +# are used and there is only one lock partition defined. # I allow matthias.andree@gmx.de and all freebsd committer to do changes # to this package. diff --git a/databases/db47/distinfo b/databases/db47/distinfo index f42260952182..4b2f1b40aba0 100644 --- a/databases/db47/distinfo +++ b/databases/db47/distinfo @@ -4,3 +4,6 @@ SIZE (bdb/db-4.7.25.tar.gz) = 13124129 MD5 (bdb/patch.4.7.25.1) = 5fdf101259e5164dea1c8c86214fde38 SHA256 (bdb/patch.4.7.25.1) = e91590af872705efc34414afb702abc630a75c55ba61570dca2216c783e0a83a SIZE (bdb/patch.4.7.25.1) = 2072 +MD5 (bdb/patch.4.7.25.2) = bd410a11c71fee52fddb6aa2d8d4f80c +SHA256 (bdb/patch.4.7.25.2) = 05d6cde0ab1bfdb80394a7a88ff7233d0407f0b09103b0dd3791ebfccbbcca31 +SIZE (bdb/patch.4.7.25.2) = 2210 diff --git a/databases/db47/files/patch-lock::lock.c b/databases/db47/files/patch-lock::lock.c deleted file mode 100644 index 33f8066ca0dd..000000000000 --- a/databases/db47/files/patch-lock::lock.c +++ /dev/null @@ -1,42 +0,0 @@ ---- ../lock/lock.c.orig 2008-05-07 05:27:35.000000000 -0700 -+++ ../lock/lock.c 2008-09-26 11:07:15.000000000 -0700 -@@ -1274,10 +1274,12 @@ - SH_TAILQ_REMOVE( - <->obj_tab[obj_ndx], sh_obj, links, __db_lockobj); - if (sh_obj->lockobj.size > sizeof(sh_obj->objdata)) { -- LOCK_REGION_LOCK(env); -+ if (region->part_t_size != 1) -+ LOCK_REGION_LOCK(env); - __env_alloc_free(<->reginfo, - SH_DBT_PTR(&sh_obj->lockobj)); -- LOCK_REGION_UNLOCK(env); -+ if (region->part_t_size != 1) -+ LOCK_REGION_UNLOCK(env); - } - SH_TAILQ_INSERT_HEAD( - &FREE_OBJS(lt, part_id), sh_obj, links, __db_lockobj); -@@ -1467,15 +1469,21 @@ - if (obj->size <= sizeof(sh_obj->objdata)) - p = sh_obj->objdata; - else { -- LOCK_REGION_LOCK(env); -+ /* -+ * If we have only one partition, the region is locked. -+ */ -+ if (region->part_t_size != 1) -+ LOCK_REGION_LOCK(env); - if ((ret = - __env_alloc(<->reginfo, obj->size, &p)) != 0) { - __db_errx(env, - "No space for lock object storage"); -- LOCK_REGION_UNLOCK(env); -+ if (region->part_t_size != 1) -+ LOCK_REGION_UNLOCK(env); - goto err; - } -- LOCK_REGION_UNLOCK(env); -+ if (region->part_t_size != 1) -+ LOCK_REGION_UNLOCK(env); - } - - memcpy(p, obj->data, obj->size); |