From e9a6cd08f7ed17f4548da60198f309ba17e3d92b Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Mon, 20 Feb 2006 21:01:47 +0000 Subject: [PATCH] 66584d621355df055b6e05b4a02e9c3e patch.4.4.20.1 85df93a0867f6cace3501671cdeb6ed1 patch.4.4.20.2 - from http://www.sleepycat.com/update/4.4.20/ Changed files: patch.4.4.20.1 -> 1.1 patch.4.4.20.2 -> 1.1 --- patch.4.4.20.1 | 27 +++++++++++++++++++++++++++ patch.4.4.20.2 | 29 +++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 patch.4.4.20.1 create mode 100644 patch.4.4.20.2 diff --git a/patch.4.4.20.1 b/patch.4.4.20.1 new file mode 100644 index 0000000..f687729 --- /dev/null +++ b/patch.4.4.20.1 @@ -0,0 +1,27 @@ +*** qam/qam_files.c.orig 2005-10-20 11:57:12.000000000 -0700 +--- qam/qam_files.c 2006-01-27 13:38:38.000000000 -0800 +*************** +*** 411,416 **** +--- 411,422 ---- + DB_APP_DATA, buf, 0, NULL, &real_name)) != 0) + goto err; + #endif ++ ++ mpf = array->mpfarray[offset].mpf; ++ /* This extent my already be marked for delete and closed. */ ++ if (mpf == NULL) ++ goto err; ++ + /* + * The log must be flushed before the file is deleted. We depend on + * the log record of the last delete to recreate the file if we crash. +*************** +*** 418,424 **** + if (LOGGING_ON(dbenv) && (ret = __log_flush(dbenv, NULL)) != 0) + goto err; + +- mpf = array->mpfarray[offset].mpf; + (void)__memp_set_flags(mpf, DB_MPOOL_UNLINK, 1); + /* Someone could be real slow, let them close it down. */ + if (array->mpfarray[offset].pinref != 0) +--- 424,429 ---- diff --git a/patch.4.4.20.2 b/patch.4.4.20.2 new file mode 100644 index 0000000..0231ec7 --- /dev/null +++ b/patch.4.4.20.2 @@ -0,0 +1,29 @@ +*** txn/txn.c.orig Tue Nov 1 06:50:03 2005 +--- txn/txn.c Tue Jan 31 15:05:13 2006 +*************** +*** 1049,1060 **** +--- 1049,1062 ---- + return (ret); + memcpy(txn->name, name, len); + ++ TXN_SYSTEM_LOCK(dbenv); + if (td->name != INVALID_ROFF) { + __db_shalloc_free( + &mgr->reginfo, R_ADDR(&mgr->reginfo, td->name)); + td->name = INVALID_ROFF; + } + if ((ret = __db_shalloc(&mgr->reginfo, len, 0, &p)) != 0) { ++ TXN_SYSTEM_UNLOCK(dbenv); + __db_err(dbenv, + "Unable to allocate memory for transaction name"); + +*************** +*** 1063,1068 **** +--- 1065,1071 ---- + + return (ret); + } ++ TXN_SYSTEM_UNLOCK(dbenv); + td->name = R_OFFSET(&mgr->reginfo, p); + memcpy(p, name, len); + -- 2.43.0