Loading...
--- Libc/Libc-594.1.4/db/mpool/FreeBSD/mpool.c.patch
+++ /dev/null
@@ -1,50 +0,0 @@
---- mpool.c.orig 2008-09-07 11:37:54.000000000 -0700
-+++ mpool.c 2008-09-07 12:46:41.000000000 -0700
-@@ -128,7 +128,7 @@ mpool_new(mp, pgnoaddr)
-
- if (mp->npages == MAX_PAGE_NUMBER) {
- (void)fprintf(stderr, "mpool_new: page allocation overflow.\n");
-- abort();
-+ LIBC_ABORT("page allocation overflow");
- }
- #ifdef STATISTICS
- ++mp->pagenew;
-@@ -180,7 +180,7 @@ mpool_get(mp, pgno, flags)
- if (bp->flags & MPOOL_PINNED) {
- (void)fprintf(stderr,
- "mpool_get: page %d already pinned\n", bp->pgno);
-- abort();
-+ LIBC_ABORT("page %d already pinned", bp->pgno);
- }
- #endif
- /*
-@@ -253,7 +253,7 @@ mpool_put(mp, page, flags)
- if (!(bp->flags & MPOOL_PINNED)) {
- (void)fprintf(stderr,
- "mpool_put: page %d not pinned\n", bp->pgno);
-- abort();
-+ LIBC_ABORT("page %d not pinned", bp->pgno);
- }
- #endif
- bp->flags &= ~MPOOL_PINNED;
-@@ -294,10 +294,16 @@ mpool_sync(mp)
- BKT *bp;
-
- /* Walk the lru chain, flushing any dirty pages to disk. */
-- TAILQ_FOREACH(bp, &mp->lqh, q)
-- if (bp->flags & MPOOL_DIRTY &&
-- mpool_write(mp, bp) == RET_ERROR)
-- return (RET_ERROR);
-+ TAILQ_FOREACH(bp, &mp->lqh, q) {
-+ if (bp->flags & MPOOL_DIRTY)
-+ if (mpool_write(mp, bp) == RET_ERROR) {
-+ return (RET_ERROR);
-+ } else {
-+ /* 4874757: Re-run through the user's pgin filter. */
-+ if (mp->pgin != NULL)
-+ (mp->pgin)(mp->pgcookie, bp->pgno, bp->page);
-+ }
-+ }
-
- /* Sync the file descriptor. */
- return (_fsync(mp->fd) ? RET_ERROR : RET_SUCCESS);