]> granicus.if.org Git - postgresql/commitdiff
Remove WIN32_NON_BLOCKING_CONNECTIONS tests, since we don't need 'em
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 31 Jul 2001 02:14:49 +0000 (02:14 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 31 Jul 2001 02:14:49 +0000 (02:14 +0000)
anymore.

doc/src/sgml/libpq.sgml
src/interfaces/libpq/fe-connect.c

index ee971acd11fff79bf8f044f25798f0bef9ea52c1..2e26532836e2fc29a6ec0794b4dff1b5acbd5177 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/libpq.sgml,v 1.63 2001/05/12 22:51:35 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/libpq.sgml,v 1.64 2001/07/31 02:14:49 tgl Exp $
 -->
 
  <chapter id="libpq">
@@ -386,12 +386,6 @@ PostgresPollingStatusType PQconnectPoll(PGconn *conn)
    PQconnectPoll will currently block if libpq is compiled with USE_SSL
    defined. This restriction may be removed in the future.
   </para>
-  <para>
-   PQconnectPoll will currently block under Windows, unless libpq is compiled
-   with WIN32_NON_BLOCKING_CONNECTIONS defined. This code has not yet been
-   tested under Windows, and so it is currently off by default. This may be
-   changed in the future.
-  </para>
   <para>
    These functions leave the socket in a non-blocking state as if 
    <function>PQsetnonblocking</function> had been called.
index 1b8d1b797764c1bccaec4ca3069c88275c27e1f1..756af07b65702c763864f8a6a98757b5f3c7e2cd 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.170 2001/07/21 04:32:41 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.171 2001/07/31 02:14:49 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -70,7 +70,7 @@ static SSL_CTX *SSL_context = NULL;
 
 #define NOTIFYLIST_INITIAL_SIZE 10
 #define NOTIFYLIST_GROWBY 10
-#define WIN32_NON_BLOCKING_CONNECTIONS
+
 
 /* ----------
  * Definition of the conninfo parameters and their fallback resources.
@@ -906,17 +906,7 @@ connectDBStart(PGconn *conn)
                        goto connect_errReturn;
        }
 
-       /*
-        * Since I have no idea whether this is a valid thing to do under
-        * Windows before a connection is made, and since I have no way of
-        * testing it, I leave the code looking as below.  When someone
-        * decides that they want non-blocking connections under Windows, they
-        * can define WIN32_NON_BLOCKING_CONNECTIONS before compilation.  If
-        * it works, then this code can be cleaned up.
-        *
-        * Ewan Mellor <eem21@cam.ac.uk>.
-        */
-#if ((!defined(WIN32) && !defined(__CYGWIN__)) || defined(WIN32_NON_BLOCKING_CONNECTIONS)) && !defined(USE_SSL)
+#if !defined(USE_SSL)
        if (connectMakeNonblocking(conn) == 0)
                goto connect_errReturn;
 #endif
@@ -926,23 +916,14 @@ connectDBStart(PGconn *conn)
         * now, but it is possible that:
         *       1. Older systems will still block on connect, despite the
         *              non-blocking flag. (Anyone know if this is true?)
-        *       2. We are running under Windows, and aren't even trying
-        *              to be non-blocking (see above).
-        *       3. We are using SSL.
-        * Thus, we have make arrangements for all eventualities.
+        *       2. We are using SSL.
+        * Thus, we have to make arrangements for all eventualities.
         * ----------
         */
-#ifndef WIN32
        if (connect(conn->sock, &conn->raddr.sa, conn->raddr_len) < 0)
        {
-               if (errno == EINPROGRESS || errno == 0)
-#else
- if (connect(conn->sock, &conn->raddr.sa, conn->raddr_len) != 0)
- {
-  if (errno == EINPROGRESS || errno == EWOULDBLOCK)
-#endif
+               if (errno == EINPROGRESS || errno == EWOULDBLOCK || errno == 0)
                {
-
                        /*
                         * This is fine - we're in non-blocking mode, and the
                         * connection is in progress.
@@ -1040,7 +1021,7 @@ connectDBStart(PGconn *conn)
         * This makes the connection non-blocking, for all those cases which
         * forced us not to do it above.
         */
-#if ((defined(WIN32) || defined(__CYGWIN__)) && !defined(WIN32_NON_BLOCKING_CONNECTIONS)) || defined(USE_SSL)
+#if defined(USE_SSL)
        if (connectMakeNonblocking(conn) == 0)
                goto connect_errReturn;
 #endif
@@ -1949,11 +1930,13 @@ freePGconn(PGconn *conn)
                SSL_free(conn->ssl);
 #endif
        if (conn->sock >= 0)
+       {
 #ifdef WIN32
                closesocket(conn->sock);
 #else
                close(conn->sock);
 #endif
+       }
        if (conn->pghost)
                free(conn->pghost);
        if (conn->pghostaddr)
@@ -2019,11 +2002,13 @@ closePGconn(PGconn *conn)
         * Close the connection, reset all transient state, flush I/O buffers.
         */
        if (conn->sock >= 0)
+       {
 #ifdef WIN32
                closesocket(conn->sock);
 #else
                close(conn->sock);
 #endif
+       }
        conn->sock = -1;
        conn->status = CONNECTION_BAD;          /* Well, not really _bad_ - just
                                                                                 * absent */