Teach on_exit_reset() to discard pending cleanups for dsm.
Robert Haas <rhaas@postgresql.org>
Teach on_exit_reset() to discard pending cleanups for dsm. If a postmaster child invokes fork() and then calls on_exit_reset, that should be sufficient to let it exit() without breaking anything, but dynamic shared memory broke that by not updating on_exit_reset() to discard callbacks registered with dynamic shared memory segments. Per investigation of a complaint from Tom Lane.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/storage/ipc/dsm.c | modified | +31 −0 |
| src/backend/storage/ipc/ipc.c | modified | +1 −0 |
| src/include/storage/dsm.h | modified | +1 −0 |