Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
6d0d838c
Commit
6d0d838c
authored
Jul 31, 2001
by
Tom Lane
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove WIN32_NON_BLOCKING_CONNECTIONS tests, since we don't need 'em
anymore.
parent
c4c194f1
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
12 additions
and
33 deletions
+12
-33
doc/src/sgml/libpq.sgml
doc/src/sgml/libpq.sgml
+1
-7
src/interfaces/libpq/fe-connect.c
src/interfaces/libpq/fe-connect.c
+11
-26
No files found.
doc/src/sgml/libpq.sgml
View file @
6d0d838c
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/libpq.sgml,v 1.6
3 2001/05/12 22:51:35 petere
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/libpq.sgml,v 1.6
4 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.
...
...
src/interfaces/libpq/fe-connect.c
View file @
6d0d838c
...
...
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.17
0 2001/07/21 04:32:41 momjian
Exp $
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.17
1 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 */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment