Received: from candle.pha.pa.us (maillist@s5-03.ppp.op.net [209.152.195.67]) by hub.org (8.8.8/8.7.5) with ESMTP id XAA29059; Sat, 8 Aug 1998 23:01:13 -0400 (EDT) Received: (from maillist@localhost) by candle.pha.pa.us (8.8.5/8.8.5) id XAA29489; Sat, 8 Aug 1998 23:00:28 -0400 (EDT) From: Bruce Momjian Message-Id: <199808090300.XAA29489@candle.pha.pa.us> Subject: Re: [PATCHES] libpq cleanup for SIGPIPE and stderr concerns In-Reply-To: <3234.902622955@sss.pgh.pa.us> from Tom Lane at "Aug 8, 1998 8:35:55 pm" To: tgl@sss.pgh.pa.us (Tom Lane) Date: Sat, 8 Aug 1998 23:00:27 -0400 (EDT) Cc: pgsql-interfaces@postgreSQL.org, pgsql-patches@postgreSQL.org X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit > The attached patch implements some changes that were discussed a couple > weeks ago on the hackers and interfaces lists: > 1. When the backend sends a NOTICE message and closes the connection > (typically, because it was told to by the postmaster after another > backend coredumped), libpq will now print the notice and close the > connection cleanly. Formerly, the frontend app would usually > terminate ungracefully due to a SIGPIPE. (I am not sure if 6.3.2 > behaved that way, but the current cvs sources do...) > 2. libpq's various printouts to stderr are now fed through a single > "notice processor" routine, which can be overridden by the > application to direct notices someplace else. This should ease > porting libpq to Windows. > > I also noticed and fixed a problem in PQprint: when sending output > to a pager subprocess, it would disable SIGPIPE in case the pager > terminates early (this is good) --- but afterwards it reset SIGPIPE to > SIG_DFL, rather than restoring the application's prior setting (bad). > > regards, tom lane > Patch applied. -- Bruce Momjian | 830 Blythe Avenue maillist@candle.pha.pa.us | Drexel Hill, Pennsylvania 19026 + If your life is a hard drive, | (610) 353-9879(w) + Christ can be your backup. | (610) 853-3000(h)