From: Robert Haas Date: Fri, 3 Aug 2012 12:01:24 +0000 (+0000) Subject: Set hazard pointers correctly instead of wrong. Duh. X-Git-Url: http://git.postgresql.org/gitweb/static/developers.postgresql.org?a=commitdiff_plain;h=56c33d536bd46cbcf7035cd4530207b7fe2aa00c;p=users%2Frhaas%2Fpostgres.git Set hazard pointers correctly instead of wrong. Duh. --- 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. */