diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2000-03-31 19:39:22 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2000-03-31 19:39:22 +0000 |
commit | 14bc951d30d9652bec2571fe2dcbe3f3d658a9b0 (patch) | |
tree | 2f796826a88cc66f07928dd8b710d91aa9e3c8de /src/interfaces/ecpg/lib/execute.c | |
parent | dbc9346f75b38095d9cfd28a2d24e4c814afc076 (diff) | |
download | postgresql-14bc951d30d9652bec2571fe2dcbe3f3d658a9b0.tar.gz postgresql-14bc951d30d9652bec2571fe2dcbe3f3d658a9b0.zip |
Fix low-probability bug in relcache startup: write_irels wrote the
pg_internal.init file in-place, which meant that if another backend
started at about the same time, it might read the incomplete file.
init_irels tries to guard against that, but I have now seen a crash
due to reading bad data from a partly-written file. (This may indicate
a kernel bug on my platform? Not sure.) Anyway, clearly the safest
course is to write the new pg_internal.init file under a unique temporary
filename, and rename it into place only after it's all written.
Diffstat (limited to 'src/interfaces/ecpg/lib/execute.c')
0 files changed, 0 insertions, 0 deletions