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