X-Git-Url: https://pd.if.org/git/?p=btree;a=blobdiff_plain;f=btree2u.c;h=aaffee30d65fdafb176738bf864ab368dd3cda8c;hp=001f5bc9e4f2b4316f5cdc85dcccce0a93674108;hb=f3a70360678eb6c9611a6e34ee0e246ff4a796c9;hpb=f6484b1f3f360fdefc8cdbeb4bf011bb04d208e1 diff --git a/btree2u.c b/btree2u.c index 001f5bc..aaffee3 100644 --- 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) )