Re: Receiving SIGPIPE for PQfinish(<broken-connection>)

From: Volkan YAZICI <yazicivo(at)ttnet(dot)net(dot)tr>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-interfaces(at)postgresql(dot)org
Subject: Re: Receiving SIGPIPE for PQfinish(<broken-connection>)
Date: 2006-04-24 10:17:05
Message-ID: 20060424101705.GB259@alamut
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

On Apr 23 12:09, Bruce Momjian wrote:
> Did you ever get this fixed?

Actually, I couldn't reproduce same error on my current system -
although, as I understand, none of the related source files were
modified. (That failure was reported using Debian Sarge 3.1, so
it could be caused by buggy debian libraries - like their buggy
getpw..._r() family.)

> Volkan YAZICI wrote:
> > On Mar 12 11:18, Tom Lane wrote:
> > > pqsecure_write should have disabled SIGPIPE already. You should look
> > > into why that is seemingly not working.
> >
> > When I omit --enable-thread-safety, code doesn't handle in the case of
> > a SIG_ERR return on the call to pqsignal() made from pqsecure_write().
> >
> > Furthermore, I still couldn't figure out why pqsignal() cannot handle
> > SIGPIPE - despite pqsignal() doesn't return SIG_ERR. (A related small
> > debug output is attached.)

I don't have much experience with signal handling but if any hacker will
ever get chance to take a look at SIG_ERR returning pqsignal() calls'
handling, above problem (?) will be clarified.

> > Everything works fine when thread safety is enabled.

What are the reasons for thread-safety is not enabled by default? Is
this because related system may not support thread locking to be used in
libpq?

Regards.

In response to

Responses

Browse pgsql-interfaces by date

  From Date Subject
Next Message Bruce Momjian 2006-04-24 17:14:11 Re: Receiving SIGPIPE for PQfinish(<broken-connection>)
Previous Message Bruce Momjian 2006-04-24 04:02:11 Re: Building psql.exe using the free Borland compiler