Re: libpq thread-locking

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: PostgreSQL-patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: libpq thread-locking
Date: 2008-05-16 18:31:03
Message-ID: 20080516203103.5c9b9c40@mha-laptop.hagander.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

Bruce Momjian wrote:
> Magnus Hagander wrote:
> > Bruce Momjian wrote:
> > > Bruce Momjian wrote:
> > > > Magnus Hagander wrote:
> > > > > Attached patch adds some error checking to the thread locking
> > > > > stuff in libpq. Previously, if thread locking failed for some
> > > > > reason, we would just fall through and do things without
> > > > > locking. This patch makes us abort() instead. It's not the
> > > > > greatest thing probably, but our API doesn't let us pass back
> > > > > return values...
> > > >
> > > > I have looked over the patch and it seems fine, though I am
> > > > concerned about the abort() case with no output. I realize
> > > > stderr might be going nowhere, but in fe-print.c we do an
> > > > fprintf(stderr) for memory failures so for consistency I think
> > > > we should do the same here. If there is concern about code
> > > > bloat, I suggest a macro at the top of the file for thread
> > > > failure exits:
> > > >
> > > > #define THEAD_FAILURE(str) \
> > > > do { \
> > > > fprintf(stderr, libpq_gettext("Thread failure:
> > > > %s\n")); \ exit(1); \
> > > > } while(0)
> > >
> > > Oh, this is Tom saying he doesn't like stderr and the added code
> > > lines for failure:
> > >
> > > http://archives.postgresql.org/pgsql-patches/2008-04/msg00254.php
> > >
> > > I think the macro and consistency suggest doing as I outlined.
> >
> > Does this one look like what you're suggesting?
>
> Yep.

Ok, applied.

//Magnus

In response to

Browse pgsql-patches by date

  From Date Subject
Next Message Andrew Chernow 2008-05-16 18:34:20 Re: libpq object hooks
Previous Message Tom Lane 2008-05-16 18:03:23 Re: Partial match in GIN (next vesrion)