On Mon, Oct 12, 2015 at 12:25 PM, Andres Freund <andres@anarazel.de> wrote:
On 2015-10-12 11:25:35 +0530, Amit Kapila wrote: > /* > + * Close the shared memory handle as the syslogger doesn't need to > + * attach to it. For EXEC_BACKEND case, the shared memory handle > + * is inherited by all postmaster child processes irrespective of > + * whether they need it or not. > + */ > +#ifdef EXEC_BACKEND > + if (!CloseHandle(UsedShmemSegID)) > + elog(LOG, "could not close handle to shared memory: error code %lu", GetLastError()); > +#endif > +
It feels wrong to do this in syslogger.c - I mean it's not the only process that's not attached to shared memory. Sure, the others get killed, but nonetheless...
+1. It feels like we're setting our selves up for repeating this mistake at some later time :)