On Wed, Aug 5, 2020 at 5:16 PM Robert Haas <[email protected]> wrote: > > On Wed, Aug 5, 2020 at 7:24 AM Bharath Rupireddy > <[email protected]> wrote: > > In EXEC_BACKEND cases, right after PGSharedMemoryDetach(), the bg > > worker will no longer be able to access the backend parameters, see > > below(I tried this on my Ubuntu machine with a bgworker with no > > BGWORKER_SHMEM_ACCESS flag and defined EXEC_BACKEND macro in > > pg_config_manual.h) : > > > > (gdb) p *MyLatch > > Cannot access memory at address 0x7fd60424a6b4 > > (gdb) p *ShmemVariableCache > > Cannot access memory at address 0x7fd58427bf80 > > (gdb) p ProcStructLock > > $10 = (slock_t *) 0x7fd60429bd00 <error: Cannot access memory at > > address 0x7fd60429bd00> > > (gdb) p *AuxiliaryProcs > > Cannot access memory at address 0x7fd60424cc60 > > (gdb) p *ProcGlobal > > Cannot access memory at address 0x7fd604232880 > > Well all of those are pointers into the main shared memory segment, > which is expected to be inaccessible after it is detached. Hopefully > nobody should be surprised that if you don't specify > BGWORKER_SHMEM_ACCESS, you can't access data stored in shared memory. >
Right. Will the proposed patch(v2) having some info in bgworker.sgml and bgworker.h be ever useful to the users in some way? With Regards, Bharath Rupireddy. EnterpriseDB: http://www.enterprisedb.com
