mirror of
https://github.com/postgres/postgres.git
synced 2025-12-16 16:42:29 +03:00
Clean up non-reentrant interface for hash_seq/HashTableWalk, so that
starting a new hashtable search no longer clobbers any other search active anywhere in the system. Fix RelationCacheInvalidate() so that it will not crash or go into an infinite loop if invoked recursively, as for example by a second SI Reset message arriving while we are still processing a prior one.
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: hasht.h,v 1.10 2000/01/31 04:35:55 tgl Exp $
|
||||
* $Id: hasht.h,v 1.11 2001/01/02 04:33:24 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -17,8 +17,8 @@
|
||||
|
||||
#include "utils/hsearch.h"
|
||||
|
||||
typedef void (*HashtFunc) (void *hashitem, int arg);
|
||||
typedef void (*HashtFunc) (void *hashitem, Datum arg);
|
||||
|
||||
extern void HashTableWalk(HTAB *hashtable, HashtFunc function, int arg);
|
||||
extern void HashTableWalk(HTAB *hashtable, HashtFunc function, Datum arg);
|
||||
|
||||
#endif /* HASHT_H */
|
||||
|
||||
Reference in New Issue
Block a user