Re: libpq thread-locking - Mailing list pgsql-patches

From Bruce Momjian
Subject Re: libpq thread-locking
Date
Msg-id 200805081809.m48I9Ld04823@momjian.us
Whole thread Raw
In response to Re: libpq thread-locking  (Bruce Momjian <bruce@momjian.us>)
Responses Re: libpq thread-locking  (Magnus Hagander <magnus@hagander.net>)
List pgsql-patches
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.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

pgsql-patches by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: libpq thread-locking
Next
From: Bruce Momjian
Date:
Subject: Re: [NOVICE] encoding problems