From: | "Florian Hars" <hars(at)bik-gmbh(dot)de> |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | BUG #1467: fe_connect doesn't handle EINTR right |
Date: | 2005-02-07 12:06:13 |
Message-ID: | 20050207120613.4DDB0F0B01@svr2.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs pgsql-hackers |
The following bug has been logged online:
Bug reference: 1467
Logged by: Florian Hars
Email address: hars(at)bik-gmbh(dot)de
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.
From | Date | Subject | |
---|---|---|---|
Next Message | Tobias Brox | 2005-02-07 14:34:57 | BUG #1468: psql_dump is not backward compatible |
Previous Message | Kris Jurka | 2005-02-07 09:30:20 | Re: timezone offsets and documentation |
From | Date | Subject | |
---|---|---|---|
Next Message | Kenneth Marshall | 2005-02-07 14:14:28 | Re: Thinking about breaking up the BufMgrLock |
Previous Message | Simon Riggs | 2005-02-07 08:28:09 | Re: Inline MemoryContextSwitchTo? |