aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/gist
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2007-07-02 20:12:05 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2007-07-02 20:12:05 +0000
commit5d798ba82fb92fac7c75947df3f5059bebd67a1f (patch)
treeed197d11755560ffd7d3ebeb318ab1aa9d9d97f7 /src/backend/access/gist
parent2fc24025668f1fbf0df5bba9bdf08e9afc921263 (diff)
downloadpostgresql-5d798ba82fb92fac7c75947df3f5059bebd67a1f.tar.gz
postgresql-5d798ba82fb92fac7c75947df3f5059bebd67a1f.zip
Fix failure to restart Postgres when Linux kernel returns EIDRM for shmctl().
This is a Linux kernel bug that apparently exists in every extant kernel version: sometimes shmctl() will fail with EIDRM when EINVAL is correct. We were assuming that EIDRM indicates a possible conflict with pre-existing backends, and refusing to start the postmaster when this happens. Fortunately, there does not seem to be any case where Linux can legitimately return EIDRM (it doesn't track shmem segments in a way that would allow that), so we can get away with just assuming that EIDRM means EINVAL on this platform. Per reports from Michael Fuhr and Jon Lapham --- it's a bit surprising we have not seen more reports, actually.
Diffstat (limited to 'src/backend/access/gist')
0 files changed, 0 insertions, 0 deletions