db47: Update to 4.7.25.4
[feed/packages.git] / libs / db47 / patches / 002-lock.patch
diff --git a/libs/db47/patches/002-lock.patch b/libs/db47/patches/002-lock.patch
deleted file mode 100644 (file)
index 8cfd8fa..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-diff -urN db-4.7.25.NC/lock/lock.c db-4.7.25.NC.new/lock/lock.c
---- db-4.7.25.NC/lock/lock.c   2008-05-07 14:27:35.000000000 +0200
-+++ db-4.7.25.NC.new/lock/lock.c       2009-11-08 12:52:19.000000000 +0100
-@@ -1274,10 +1274,12 @@
-               SH_TAILQ_REMOVE(
-                   &lt->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(&lt->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(&lt->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);