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

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

--
  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: Simon Riggs
Date:
Subject: Re: Updatable views
Next
From: Bruce Momjian
Date:
Subject: Re: libpq thread-locking