summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>1999-09-04 18:36:45 +0000
committerTom Lane <tgl@sss.pgh.pa.us>1999-09-04 18:36:45 +0000
commit8add6d71cff28d087872215b02c7a0b84ba786c4 (patch)
tree725119fddb5021fb515e4c8a46dbc18b08f9ed43 /src/include
parentae01c7f5bb4f40386e64138ae33b12f862f13796 (diff)
downloadpostgresql-8add6d71cff28d087872215b02c7a0b84ba786c4.tar.gz
Modify sinval so that InvalidateSharedInvalid() does not hold
the SInval spinlock while it is calling the passed invalFunction or resetFunction. This is necessary to avoid deadlock with lmgr change; InvalidateSharedInvalid can be called recursively now. It should be a good performance improvement anyway --- holding a spinlock for more than a very short interval is a no-no.
Diffstat (limited to 'src/include')
-rw-r--r--src/include/storage/sinvaladt.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/include/storage/sinvaladt.h b/src/include/storage/sinvaladt.h
index 4885b7380c..e008e52d30 100644
--- a/src/include/storage/sinvaladt.h
+++ b/src/include/storage/sinvaladt.h
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: sinvaladt.h,v 1.16 1999/07/16 17:07:38 momjian Exp $
+ * $Id: sinvaladt.h,v 1.17 1999/09/04 18:36:44 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -128,9 +128,9 @@ extern int SISegmentInit(bool killExistingSegment, IPCKey key,
extern bool SISetDataEntry(SISeg *segP, SharedInvalidData *data);
extern void SISetProcStateInvalid(SISeg *segP);
-extern bool SIDelDataEntry(SISeg *segP);
-extern void SIReadEntryData(SISeg *segP, int backendId,
- void (*invalFunction) (), void (*resetFunction) ());
+extern int SIGetDataEntry(SISeg *segP, int backendId,
+ SharedInvalidData *data);
+extern bool SIDelDataEntries(SISeg *segP, int n);
extern void SIDelExpiredDataEntries(SISeg *segP);
#endif /* SINVALADT_H */