I think this has been corrected in 8.1. ---------------------------------------------------------------------------
Florian Hars wrote: > > The following bug has been logged online: > > Bug reference: 1467 > Logged by: Florian Hars > Email address: [EMAIL PROTECTED] > PostgreSQL version: 8.0.1 > Operating system: All > Description: fe_connect doesn't handle EINTR right > Details: > > The file pgsql/src/interfaces/libpq/fe-connect.c contains the code fragment > > retry_connect: > if (connect(conn->sock, addr_cur->ai_addr, > addr_cur->ai_addrlen) < 0) > { > if (SOCK_ERRNO == EINTR) > /* Interrupted system call - just try again */ > goto retry_connect; > } > > This is not in accordance with a strict legalistic reading of the POSIX > spec, according to which connect is not restartable so that you have to use > select or poll after connect returned with EINTR. > > See > http://www.eleves.ens.fr:8080/home/madore/computers/connect-intr.html > for the ugly details, your code should work on Linux, but not on Solaris or > (Free|Open)BSD. > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Don't 'kill -9' the postmaster > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq