On 2014-04-03 19:33:12 -0400, Tom Lane wrote: > Andres Freund <and...@2ndquadrant.com> writes: > > On 2014-04-03 19:08:27 -0400, Tom Lane wrote: > >> A somewhat more relevant concern is where are we going to keep the state > >> data involved in all this. Since this code is, by definition, going to be > >> called in critical sections, any solution involving internal pallocs is > >> right out. > > > We actually already allocate memory in XLogInsert() :(, although only in > > the first XLogInsert() a backend does... > > Ouch. I wonder if we should put an Assert(not-in-critical-section) > into MemoryContextAlloc.
XLogInsert() is using malloc() directly, so that wouldn't detect this case... It's not a bad idea tho. I wonder how far the regression tests get... Not even through initdb. GetVirtualXIDsDelayingChkpt() is to blame. Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers