diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2006-01-21 04:38:27 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2006-01-21 04:38:27 +0000 |
commit | 16582d38348e1d9ed14269c9a6a2b9c4255436ad (patch) | |
tree | 25908ce53560b8001cfbc7947dab6b0a305b040f /src/backend/access/gist/gistget.c | |
parent | 4977c2b31b26f5a738f5f85dd03c5275ad3ce058 (diff) | |
download | postgresql-16582d38348e1d9ed14269c9a6a2b9c4255436ad.tar.gz postgresql-16582d38348e1d9ed14269c9a6a2b9c4255436ad.zip |
Repair longstanding bug in slru/clog logic: it is possible for two backends
to try to create a log segment file concurrently, but the code erroneously
specified O_EXCL to open(), resulting in a needless failure. Before 7.4,
it was even a PANIC condition :-(. Correct code is actually simpler than
what we had, because we can just say O_CREAT to start with and not need a
second open() call. I believe this accounts for several recent reports of
hard-to-reproduce "could not create file ...: File exists" errors in both
pg_clog and pg_subtrans.
Diffstat (limited to 'src/backend/access/gist/gistget.c')
0 files changed, 0 insertions, 0 deletions