From 061db551638b8ba1b0e202af05bef952b80fab75 Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Fri, 3 Aug 2012 12:01:24 +0000 Subject: [PATCH] Set hazard pointers correctly instead of wrong. Duh. --- src/backend/utils/hash/chash.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/utils/hash/chash.c b/src/backend/utils/hash/chash.c index b3281d50f5..7169d85a8d 100644 --- a/src/backend/utils/hash/chash.c +++ b/src/backend/utils/hash/chash.c @@ -404,7 +404,7 @@ CHashSearch(CHashTable table, void *entry) /* Prevent garbage collection for this bucket. */ Assert(MyProc->hazard[0] == NULL); - MyProc->hazard[0] = b; + MyProc->hazard[0] = &table->garbage[bucket >> table->garbage_shift]; pg_memory_barrier(); /* Scan bucket and return data from any matching entry. */ @@ -459,7 +459,7 @@ CHashInsert(CHashTable table, void *entry) memcpy(CHashNodeGetItem(nnew), entry, table->desc.element_size); /* Prevent garbage collection for this bucket. */ - MyProc->hazard[0] = b; + MyProc->hazard[0] = &table->garbage[bucket >> table->garbage_shift]; pg_memory_barrier(); /* @@ -544,7 +544,7 @@ CHashDelete(CHashTable table, void *entry) /* Prevent garbage collection for this bucket. */ Assert(MyProc->hazard[0] == NULL); - MyProc->hazard[0] = b; + MyProc->hazard[0] = &table->garbage[bucket >> table->garbage_shift]; pg_memory_barrier(); /* Scan bucket. */ -- 2.39.5