Re: PQconnectStart() and -EINTR - Mailing list pgsql-hackers

From Doug McNaught
Subject Re: PQconnectStart() and -EINTR
Date
Msg-id m3hespatqe.fsf@belphigor.mcnaught.org
Whole thread Raw
In response to PQconnectStart() and -EINTR  (David Ford <david@blue-labs.org>)
List pgsql-hackers
David Ford <david@blue-labs.org> writes:

> I've got a bit of a problem.  I added a fast SIGALRM handler in my project to
> do various maintenance and this broke PQconnectStart().
> 
> 
> Oct 23 21:56:36 james BlueList: connectDBStart() -- connect() failed:
> Interrupted system call ^IIs the postmaster running (with -i) at
> 'archives.blue-labs.org' ^Iand accepting connections on TCP/IP port 5432?
> 
> 
> PQstatus() returns CONNECTION_BAD, how can I reenter the connection cycle or
> delay, more like, how do I differentiate between an actual failure to connect
> and an interruption by signal?  My alarm timer happens much too frequently for
> this code to make a connection and unfortunately I can't disable the alarm
> because it's used for bean counting and other maintenance.

Sounds like something in libpq needs to check for EINTR and reissue the
connect() call (or select()/poll() if it's a nonblocking connect()). 

-Doug
-- 
Let us cross over the river, and rest under the shade of the trees.  --T. J. Jackson, 1863


pgsql-hackers by date:

Previous
From: "Hiroshi Inoue"
Date:
Subject: Re: [GENERAL] Using an SMP machine to make multiple indices on the same
Next
From: "Kiran Kumar Gahlot"
Date:
Subject: check for disk space