Re: [BUGS] BUG #1467: fe_connect doesn't handle EINTR right

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [BUGS] BUG #1467: fe_connect doesn't handle EINTR right

Bruce Momjian-2

Would someone comment on this bug report from February?  I can confirm
the code is unchanged and is in function fe-connect.c::PQconnectPoll().

---------------------------------------------------------------------------

Florian Hars wrote:

>
> The following bug has been logged online:
>
> Bug reference:      1467
> Logged by:          Florian Hars
> Email address:      [hidden email]
> 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
  [hidden email]               |  (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 8: explain analyze is your friend
Reply | Threaded
Open this post in threaded view
|

Re: [BUGS] BUG #1467: fe_connect doesn't handle EINTR right

Tom Lane-2
Bruce Momjian <[hidden email]> writes:
> Would someone comment on this bug report from February?

The report scored about zero out of zero IMHO: neither an actual report
of field trouble, nor a clear explanation of the supposed trouble, nor
a specific proposal what to do about it.

Without actual field trouble reports I am disinclined to touch the code
anyway ... chasing after unproven portability issues is an unprofitable
pursuit in my experience, since you can have no way to know if you've
actually fixed whatever real bug may exist.

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
      joining column's datatypes do not match