Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit fd40942

Browse files
committed
Properly exit ODBC with 'X', allow linking on BSD/OS.
1 parent 618733d commit fd40942

23 files changed

+11
-24
lines changed

src/interfaces/odbc/GNUmakefile

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#
33
# GNUMakefile for psqlodbc (Postgres ODBC driver)
44
#
5-
# $Header: /cvsroot/pgsql/src/interfaces/odbc/Attic/GNUmakefile,v 1.8 2000/12/16 18:14:25 petere Exp $
5+
# $Header: /cvsroot/pgsql/src/interfaces/odbc/Attic/GNUmakefile,v 1.9 2001/02/10 05:50:27 momjian Exp $
66
#
77
#-------------------------------------------------------------------------
88

@@ -24,7 +24,6 @@ OBJS = info.o bind.o columninfo.o connection.o convert.o drvconn.o \
2424
gpps.o tuple.o tuplelist.o dlg_specific.o $(OBJX)
2525

2626
SHLIB_LINK = $(filter -lm, $(LIBS))
27-
2827
all: all-lib
2928

3029
# Shared library stuff
@@ -33,7 +32,13 @@ include $(top_srcdir)/src/Makefile.shlib
3332
# Symbols must be resolved to the version in the shared library because
3433
# the driver manager (e.g., iodbc) provides some symbols with the same
3534
# names and we don't want those. (This issue is probably ELF specific.)
35+
#
36+
# BSD/OS fails with libc and crt1.o undefined symbols without this.
37+
# bjm 2001-02-09
38+
#
39+
ifneq ($(PORTNAME), bsdi)
3640
LINK.shared += $(shlib_symbolic)
41+
endif
3742

3843
odbc_headers = isql.h isqlext.h iodbc.h
3944
odbc_includedir = $(includedir)/iodbc

src/interfaces/odbc/bind.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
/* Module: bind.c
32
*
43
* Description: This module contains routines related to binding

src/interfaces/odbc/columninfo.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
/* Module: columninfo.c
32
*
43
* Description: This module contains routines related to

src/interfaces/odbc/connection.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
/* Module: connection.c
32
*
43
* Description: This module contains routines related to

src/interfaces/odbc/convert.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
/* Module: convert.c
32
*
43
* Description: This module contains routines related to

src/interfaces/odbc/dlg_specific.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
/* Module: dlg_specific.c
32
*
43
* Description: This module contains any specific code for handling

src/interfaces/odbc/drvconn.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
/* Module: drvconn.c
32
*
43
* Description: This module contains only routines related to

src/interfaces/odbc/environ.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
/* Module: environ.c
32
*
43
* Description: This module contains routines related to

src/interfaces/odbc/execute.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
/* Module: execute.c
32
*
43
* Description: This module contains routines related to

src/interfaces/odbc/info.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
/* Module: info.c
32
*
43
* Description: This module contains routines related to

src/interfaces/odbc/lobj.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
/* Module: lobj.c
32
*
43
* Description: This module contains routines related to manipulating

src/interfaces/odbc/misc.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
/* Module: misc.c
32
*
43
* Description: This module contains miscellaneous routines

src/interfaces/odbc/options.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
/* Module: options.c
32
*
43
* Description: This module contains routines for getting/setting

src/interfaces/odbc/parse.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
/* Module: parse.c
32
*
43
* Description: This module contains routines related to parsing SQL statements.

src/interfaces/odbc/pgtypes.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
/* Module: pgtypes.c
32
*
43
* Description: This module contains routines for getting information

src/interfaces/odbc/psqlodbc.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
/* Module: psqlodbc.c
32
*
43
* Description: This module contains the main entry point (DllMain) for the library.

src/interfaces/odbc/qresult.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
/* Module: qresult.c
32
*
43
* Description: This module contains functions related to

src/interfaces/odbc/results.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
/* Module: results.c
32
*
43
* Description: This module contains functions related to

src/interfaces/odbc/setup.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
/* Module: setup.c
32
*
43
* Description: This module contains the setup functions for

src/interfaces/odbc/socket.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
/* Module: socket.c
32
*
43
* Description: This module contains functions for low level socket
@@ -78,7 +77,11 @@ SOCK_Destructor(SocketClass *self)
7877
{
7978
if (self->socket != -1) {
8079
if ( ! shutdown(self->socket, 2)) /* no sends or receives */
80+
{
81+
SOCK_put_char(self, 'X');
82+
SOCK_flush_output(self);
8183
closesocket(self->socket);
84+
}
8285
}
8386

8487
if (self->buffer_in)

src/interfaces/odbc/statement.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
/* Module: statement.c
32
*
43
* Description: This module contains functions related to creating

src/interfaces/odbc/tuple.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
/* Module: tuple.c
32
*
43
* Description: This module contains functions for setting the data for individual

src/interfaces/odbc/tuplelist.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
/* Module: tuplelist.c
32
*
43
* Description: This module contains functions for creating a manual result set

0 commit comments

Comments
 (0)