Skip to content

Commit b00c2c1

Browse files
committed
FlushLocalBuffer () releases buffer only if required
by caller.
1 parent eb08b3c commit b00c2c1

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/backend/storage/buffer/localbuf.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*
1616
*
1717
* IDENTIFICATION
18-
* $Header: /cvsroot/pgsql/src/backend/storage/buffer/localbuf.c,v 1.4 1996/11/10 03:02:18 momjian Exp $
18+
* $Header: /cvsroot/pgsql/src/backend/storage/buffer/localbuf.c,v 1.5 1997/01/16 08:13:14 vadim Exp $
1919
*
2020
*-------------------------------------------------------------------------
2121
*/
@@ -172,7 +172,7 @@ WriteLocalBuffer(Buffer buffer, bool release)
172172
* flushes a local buffer
173173
*/
174174
int
175-
FlushLocalBuffer(Buffer buffer)
175+
FlushLocalBuffer(Buffer buffer, bool release)
176176
{
177177
int bufid;
178178
Relation bufrel;
@@ -194,7 +194,8 @@ FlushLocalBuffer(Buffer buffer)
194194
(char *) MAKE_PTR(bufHdr->data));
195195

196196
Assert(LocalRefCount[bufid] > 0);
197-
LocalRefCount[bufid]--;
197+
if ( release )
198+
LocalRefCount[bufid]--;
198199

199200
return true;
200201
}

0 commit comments

Comments
 (0)