Received: from candle.pha.pa.us (candle.navpoint.com [162.33.245.46]) by postgresql.org (8.11.3/8.11.1) with ESMTP id f43JGWA60901 for ; Thu, 3 May 2001 15:16:33 -0400 (EDT) (envelope-from pgman@candle.pha.pa.us) Received: (from pgman@localhost) by candle.pha.pa.us (8.10.1/8.10.1) id f43JFpf12056; Thu, 3 May 2001 15:15:51 -0400 (EDT) From: Bruce Momjian Message-Id: <200105031915.f43JFpf12056@candle.pha.pa.us> Subject: Re: Re: libpq++ In-Reply-To: <29887.988917180@sss.pgh.pa.us> "from Tom Lane at May 3, 2001 03:13:00 pm" To: Tom Lane Date: Thu, 3 May 2001 15:15:51 -0400 (EDT) CC: justinb@mr-boo.com, justinb@tricord.com, PostgreSQL-interfaces X-Mailer: ELM [version 2.4ME+ PL90 (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Archive-Number: 200105/16 X-Sequence-Number: 1542 > Justin Banks writes: > > As one would have expected, I've found a problem. The c++ std. says that > > Automatic objects are not destroyed as a result of calling exit(), and so, a > > automatic PgDatabase in main() (or most anywhere, actually), would not have > > it's destructor called during an exit(), thereby leaving junk shm. segments > > around. > > Unless your kernel is broken, application exit will cause the backend > connection to be closed, whereupon the backend will exit gracefully. > I see nothing to worry about here. > > I'm not sure where you got this notion that clients get to touch any > of Postgres' shared memory ;-) but they don't. I think he is creating his own shared memory area: --------------------------------------------------------------------------- What I'd like to have happen is for a total of one connection to the database to be made, and have all these objects share that connection transparently. I made this happen by using a shared memory segment to store the connection pointer. Here's the diff. It doesn't seem to break anything, but then again, my coverage is rather limited at this point. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026