• Tom Lane's avatar
    Fix low-probability bug in relcache startup: write_irels wrote the · 14bc951d
    Tom Lane authored
    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.
    14bc951d
relcache.c 64.1 KB