On 1/26/15 4:51 PM, Tom Lane wrote:
Jim Nasby <jim.na...@bluetreble.com> writes:
On 1/24/15 3:31 PM, Tom Lane wrote:
Another idea is to teach Valgrind that whenever a backend reduces its
pin count on a shared buffer to zero, that buffer should become undefined
memory.
<paranoia>
Shouldn't this technically tie in with ResourceOwners?
No. ResourceOwner is just a mechanism to ensure that we remember to call
UnpinBuffer, it has no impact on what the semantics of the pin count are.
The *instant* the pin count goes to zero, another backend is entitled to
recycle that buffer for some other purpose.
But one backend can effectively "pin" a buffer more than once, no? If so, then
ISTM there's some risk that code path A pins and forgets to unpin, but path B
accidentally unpins for A.
But as you say, this is all academic until the pin count hits 0, so it's
probably not worth worrying about.
--
Jim Nasby, Data Architect, Blue Treble Consulting
Data in Trouble? Get it in Treble! http://BlueTreble.com
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers