pg.ddx.io  pgsql-interfaces@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Bruce Momjian <maillist@candle.pha.pa.us>
To: tgl@sss.pgh.pa.us
Cc: pgsql-hackers@postgreSQL.org
Cc: pgsql-interfaces@postgreSQL.org
Subject: Re: [HACKERS] Coping with backend crash in libpq
Date: Wed, 29 Jul 1998 00:59:32 -0400 (EDT)
Message-ID: <199807290459.AAA25951@candle.pha.pa.us> (raw)
In-Reply-To: <4870.901646615@sss.pgh.pa.us>

> I've just noticed that libpq doesn't cope very gracefully if the backend
> exits when not in the middle of a query (ie, because the postmaster told
> it to quit after some other BE crashed).  The behavior in psql, for
> example, is that the next time you issue a query, psql just exits
> without printing anything at all.  This is Not Friendly, especially
> considering that the BE sent a nice little notice message before it quit.

I say, install the signal handler for SIGPIPE on connection startup, but
when you install it, it returns the previous defined action.  If we find
there was a previous defined action, we can re-install theirs, and let
it handle the sigpipe.  If an application later defines it's own
sigpipe, over-riding ours, then they get no error message.

However, I see psql setting the SIGPIPE handler all over the place, so I
don't think that will work there.  How about SIGURG?  Oops, not portable
for unix domain sockets.  Can we send a signal to the process, telling
it the backend has exited.  We have that information now, so why not use
it.  Define a signal handler for SIGURG or SIGUSR1, and have that print
out a message.  If the app redefines that, it will get confused when we
send the signal from the postmaster.  Oops, we can't send signals to the
client because they may be owned by other users.

I am stumped.  Let me think about it.



-- 
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)



view thread (5+ messages)  latest in thread

Message-ID: <199807290459.AAA25951@candle.pha.pa.us>
Permalink:  ../199807290459.AAA25951@candle.pha.pa.us/
Also on:    postgresql.org/message-id/199807290459.AAA25951@candle.pha.pa.us

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-interfaces@postgresql.org
  Cc: maillist@candle.pha.pa.us, tgl@sss.pgh.pa.us, pgsql-hackers@postgreSQL.org
  Subject: Re: [HACKERS] Coping with backend crash in libpq
  In-Reply-To: <199807290459.AAA25951@candle.pha.pa.us>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox