]> granicus.if.org Git - postgresql/commit
Create an fd.c entry point that is just like plain open(2) except that
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 2 Jun 2000 03:58:34 +0000 (03:58 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 2 Jun 2000 03:58:34 +0000 (03:58 +0000)
commitb659ab07a2b4067b7210c8f2f6daa947817a2bfe
tree5320e447110fc16a1bfd087a6a3dae07b702a7bb
parent60b941f9a400e37a463144cde2ec8a1c2e625d64
Create an fd.c entry point that is just like plain open(2) except that
it will close VFDs if necessary to surmount ENFILE or EMFILE failures.
Make use of this in md.c, xlog.c, and user.c routines that were
formerly vulnerable to these failures.  In particular, this should
handle failures of mdblindwrt() that have been observed under heavy
load conditions.  (By golly, every other process on the system may
crash after Postgres eats up all the kernel FDs, but Postgres will
keep going!)
src/backend/access/transam/xlog.c
src/backend/commands/user.c
src/backend/storage/file/fd.c
src/backend/storage/smgr/md.c
src/include/storage/fd.h