(unnamed)

text/plain

Filename: (unnamed)
Type: text/plain
Part: 0
Message: Fix for ODBC close
Index: src/interfaces/odbc/GNUmakefile
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/src/interfaces/odbc/GNUmakefile,v
retrieving revision 1.8
diff -c -r1.8 GNUmakefile
*** src/interfaces/odbc/GNUmakefile	2000/12/16 18:14:25	1.8
--- src/interfaces/odbc/GNUmakefile	2001/02/10 04:25:23
***************
*** 24,30 ****
          gpps.o tuple.o tuplelist.o dlg_specific.o $(OBJX)
  
  SHLIB_LINK = $(filter -lm, $(LIBS))
- 
  all: all-lib
  
  # Shared library stuff
--- 24,29 ----
***************
*** 33,39 ****
--- 32,46 ----
  # Symbols must be resolved to the version in the shared library because
  # the driver manager (e.g., iodbc) provides some symbols with the same
  # names and we don't want those.  (This issue is probably ELF specific.)
+ #
+ # BSD/OS fails with libc and crt1.o undefined symbols without this.
+ # bjm 2001-02-09
+ #
+ ifneq ($(PORTNAME), bsdi)
  LINK.shared += $(shlib_symbolic)
+ endif
  
  odbc_headers = isql.h isqlext.h iodbc.h
  odbc_includedir = $(includedir)/iodbc
Index: src/interfaces/odbc/socket.c
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/src/interfaces/odbc/socket.c,v
retrieving revision 1.7
diff -c -r1.7 socket.c
*** src/interfaces/odbc/socket.c	2000/05/27 03:35:14	1.7
--- src/interfaces/odbc/socket.c	2001/02/10 04:25:29
***************
*** 1,4 ****
- 
  /* Module:          socket.c
   *
   * Description:     This module contains functions for low level socket
--- 1,3 ----
***************
*** 78,84 ****
--- 77,87 ----
  {
  	if (self->socket != -1) {
  		if ( ! shutdown(self->socket, 2)) /* no sends or receives */
+ 		{
+ 			SOCK_put_char(self, 'X');
+ 			SOCK_flush_output(self);
  			closesocket(self->socket);
+ 		}
  	}
  
  	if (self->buffer_in)