aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/transam/xlog.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/access/transam/xlog.c')
-rw-r--r--src/backend/access/transam/xlog.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index c0b6104db5a..e995b06f914 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -6,7 +6,7 @@
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Header: /cvsroot/pgsql/src/backend/access/transam/xlog.c,v 1.48 2001/01/09 06:24:32 vadim Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/transam/xlog.c,v 1.49 2001/01/12 21:53:56 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -42,7 +42,7 @@
int XLOGbuffers = 8;
int XLOGfiles = 0; /* how many files to pre-allocate */
XLogRecPtr MyLastRecPtr = {0, 0};
-uint32 CritSectionCount = 0;
+volatile uint32 CritSectionCount = 0;
bool InRecovery = false;
StartUpID ThisStartUpID = 0;
XLogRecPtr RedoRecPtr;
@@ -382,7 +382,7 @@ begin:;
if (len == 0 || len > MAXLOGRECSZ)
elog(STOP, "XLogInsert: invalid record len %u", len);
- START_CRIT_CODE;
+ START_CRIT_SECTION();
/* obtain xlog insert lock */
if (TAS(&(XLogCtl->insert_lck))) /* busy */
@@ -447,7 +447,7 @@ begin:;
if (repeat)
{
S_UNLOCK(&(XLogCtl->insert_lck));
- END_CRIT_CODE;
+ END_CRIT_SECTION();
goto begin;
}
@@ -618,7 +618,7 @@ begin:;
S_UNLOCK(&(XLogCtl->info_lck));
}
- END_CRIT_CODE;
+ END_CRIT_SECTION();
return (RecPtr);
}
@@ -647,7 +647,7 @@ XLogFlush(XLogRecPtr record)
if (XLByteLE(record, LgwrResult.Flush))
return;
- START_CRIT_CODE;
+ START_CRIT_SECTION();
WriteRqst = LgwrRqst.Write;
for (;;)
@@ -659,7 +659,7 @@ XLogFlush(XLogRecPtr record)
if (XLByteLE(record, LgwrResult.Flush))
{
S_UNLOCK(&(XLogCtl->info_lck));
- END_CRIT_CODE;
+ END_CRIT_SECTION();
return;
}
if (XLByteLT(XLogCtl->LgwrRqst.Flush, record))
@@ -705,7 +705,7 @@ XLogFlush(XLogRecPtr record)
if (XLByteLE(record, LgwrResult.Flush))
{
S_UNLOCK(&(XLogCtl->lgwr_lck));
- END_CRIT_CODE;
+ END_CRIT_SECTION();
return;
}
if (XLByteLT(LgwrResult.Write, WriteRqst))
@@ -715,7 +715,7 @@ XLogFlush(XLogRecPtr record)
S_UNLOCK(&(XLogCtl->lgwr_lck));
if (XLByteLT(LgwrResult.Flush, record))
elog(STOP, "XLogFlush: request is not satisfied");
- END_CRIT_CODE;
+ END_CRIT_SECTION();
return;
}
break;
@@ -756,7 +756,7 @@ XLogFlush(XLogRecPtr record)
S_UNLOCK(&(XLogCtl->lgwr_lck));
- END_CRIT_CODE;
+ END_CRIT_SECTION();
return;
}
@@ -2081,7 +2081,7 @@ CreateCheckPoint(bool shutdown)
if (MyLastRecPtr.xrecoff != 0)
elog(ERROR, "CreateCheckPoint: cannot be called inside transaction block");
- START_CRIT_CODE;
+ START_CRIT_SECTION();
/* Grab lock, using larger than normal sleep between tries (1 sec) */
while (TAS(&(XLogCtl->chkp_lck)))
@@ -2230,7 +2230,7 @@ CreateCheckPoint(bool shutdown)
S_UNLOCK(&(XLogCtl->chkp_lck));
MyLastRecPtr.xrecoff = 0; /* to avoid commit record */
- END_CRIT_CODE;
+ END_CRIT_SECTION();
return;
}