]> pd.if.org Git - btree/commitdiff
Fix windows missing external
authorunknown <karl@E04.petzent.com>
Mon, 17 Mar 2014 22:48:14 +0000 (15:48 -0700)
committerunknown <karl@E04.petzent.com>
Mon, 17 Mar 2014 22:48:14 +0000 (15:48 -0700)
btree2u.c

index 001f5bc9e4f2b4316f5cdc85dcccce0a93674108..aaffee30d65fdafb176738bf864ab368dd3cda8c 100644 (file)
--- a/btree2u.c
+++ b/btree2u.c
@@ -619,7 +619,7 @@ int lvl;
 #ifdef unix
        __sync_fetch_and_add (&bt->latchmgr->cache[page->lvl], 1);
 #else
-       _InterlockedAdd(&bt->latchmgr->cache[page->lvl], 1);
+       _InterlockedExchangeAdd(&bt->latchmgr->cache[page->lvl], 1);
 #endif
        return bt->err = 0;
 }
@@ -758,7 +758,7 @@ BtPage page;
        posix_fadvise (bt->idx, page_no << bt->page_bits, bt->page_size, POSIX_FADV_WILLNEED);
        __sync_fetch_and_add (&bt->latchmgr->cache[page->lvl], -1);
 #else
-       _InterlockedAdd(&bt->latchmgr->cache[page->lvl], -1);
+       _InterlockedExchangeAdd(&bt->latchmgr->cache[page->lvl], -1);
 #endif
        if( page->dirty )
          if( bt_writepage (bt, page, latch->page_no) )