diff --git a/src/interfaces/libpq/bcc32.mak b/src/interfaces/libpq/bcc32.mak index 992bb5b68e76016ae2635435c99147f02ce72916..73fb1faf131fee759f401d418e6274dbe77d3b9f 100644 --- a/src/interfaces/libpq/bcc32.mak +++ b/src/interfaces/libpq/bcc32.mak @@ -93,7 +93,6 @@ CLEAN : -@erase "$(INTDIR)\fe-secure.obj" -@erase "$(INTDIR)\pqexpbuffer.obj" -@erase "$(INTDIR)\pqsignal.obj" - -@erase "$(OUTDIR)\libpqdll.obj" -@erase "$(OUTDIR)\win32.obj" -@erase "$(INTDIR)\wchar.obj" -@erase "$(INTDIR)\encnames.obj" @@ -155,14 +154,13 @@ RSC_PROJ=-l 0x409 -i$(BCB)\include -fo"$(INTDIR)\libpq.res" LINK32=ilink32.exe LINK32_FLAGS = -Gn -L$(BCB)\lib;$(INTDIR); -x -Tpd -v -LINK32_OBJS= "$(INTDIR)\libpqdll.obj" # @<< is a Response file, http://www.opussoftware.com/tutorial/TutMakefile.htm -"$(OUTDIR)\blibpq.dll": "$(OUTDIR)\blibpq.lib" $(LINK32_OBJS) "$(INTDIR)\libpq.res" blibpqdll.def +"$(OUTDIR)\blibpq.dll": "$(OUTDIR)\blibpq.lib" "$(INTDIR)\libpq.res" blibpqdll.def $(LINK32) @<< $(LINK32_FLAGS) + - c0d32.obj $(LINK32_OBJS), + + c0d32.obj , + $@,, + "$(OUTDIR)\blibpq.lib" import32.lib cw32mt.lib, + blibpqdll.def,"$(INTDIR)\libpq.res" diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c index 6d8198ac0e72e55d04a1c2e87d443ff131706388..13c407d1cc18e86982c8536611870ee9851b7463 100644 --- a/src/interfaces/libpq/fe-connect.c +++ b/src/interfaces/libpq/fe-connect.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/interfaces/libpq/fe-connect.c,v 1.344 2007/02/20 15:20:51 momjian Exp $ + * $PostgreSQL: pgsql/src/interfaces/libpq/fe-connect.c,v 1.345 2007/03/08 19:27:28 mha Exp $ * *------------------------------------------------------------------------- */ @@ -1840,9 +1840,7 @@ makeEmptyPGconn(void) #ifdef WIN32 /* - * Make sure socket support is up and running. Even though this is done in - * libpqdll.c, that is only for MSVC and BCC builds and doesn't work for - * static builds at all, so we have to do it in the main code too. + * Make sure socket support is up and running. */ WSADATA wsaData; @@ -1853,7 +1851,12 @@ makeEmptyPGconn(void) conn = (PGconn *) malloc(sizeof(PGconn)); if (conn == NULL) + { +#ifdef WIN32 + WSACleanup(); +#endif return conn; + } /* Zero all pointers and booleans */ MemSet(conn, 0, sizeof(PGconn)); @@ -1918,10 +1921,6 @@ freePGconn(PGconn *conn) PGnotify *notify; pgParameterStatus *pstatus; -#ifdef WIN32 - WSACleanup(); -#endif - if (!conn) return; @@ -1986,6 +1985,10 @@ freePGconn(PGconn *conn) termPQExpBuffer(&conn->errorMessage); termPQExpBuffer(&conn->workBuffer); free(conn); + +#ifdef WIN32 + WSACleanup(); +#endif } /* diff --git a/src/interfaces/libpq/libpqdll.c b/src/interfaces/libpq/libpqdll.c deleted file mode 100644 index 231b6a0e9b67056580370edcdc7e4fae470c9c1e..0000000000000000000000000000000000000000 --- a/src/interfaces/libpq/libpqdll.c +++ /dev/null @@ -1,33 +0,0 @@ -/* $PostgreSQL: pgsql/src/interfaces/libpq/libpqdll.c,v 1.10 2006/03/11 04:38:40 momjian Exp $ */ - -#define WIN32_LEAN_AND_MEAN -#include <winsock.h> -#include <windows.h> -#include "win32.h" - - -BOOL WINAPI -DllMain(HINSTANCE hinstDLL, DWORD fdwReason, - LPVOID lpReserved) -{ - WSADATA wsaData; - - switch (fdwReason) - { - case DLL_PROCESS_ATTACH: - if (WSAStartup(MAKEWORD(1, 1), &wsaData)) - { - /* - * No really good way to do error handling here, since we - * don't know how we were loaded - */ - return FALSE; - } - break; - case DLL_PROCESS_DETACH: - WSACleanup(); - break; - } - - return TRUE; -} diff --git a/src/interfaces/libpq/win32.mak b/src/interfaces/libpq/win32.mak index ca5f4326aa9988593de0ccd43a5f243c4c144eb0..f558aaca46eb77150bfaeac9ea34dcee4473f43b 100644 --- a/src/interfaces/libpq/win32.mak +++ b/src/interfaces/libpq/win32.mak @@ -63,7 +63,6 @@ CLEAN : -@erase "$(INTDIR)\fe-secure.obj" -@erase "$(INTDIR)\pqexpbuffer.obj" -@erase "$(INTDIR)\pqsignal.obj" - -@erase "$(OUTDIR)\libpqdll.obj" -@erase "$(OUTDIR)\win32.obj" -@erase "$(INTDIR)\wchar.obj" -@erase "$(INTDIR)\encnames.obj" @@ -143,7 +142,6 @@ LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib shfolder.lib wsock32.lib $(SSL /pdb:"$(OUTDIR)\libpqdll.pdb" /machine:I386 /out:"$(OUTDIR)\$(OUTFILENAME).dll"\ /implib:"$(OUTDIR)\$(OUTFILENAME)dll.lib" /def:$(OUTFILENAME)dll.def LINK32_OBJS= \ - "$(INTDIR)\libpqdll.obj" \ "$(OUTDIR)\$(OUTFILENAME).lib" \ "$(OUTDIR)\libpq.res" @@ -159,7 +157,7 @@ LINK32_OBJS= \ $(RSC) $(RSC_PROJ) libpq.rc -"$(OUTDIR)\$(OUTFILENAME).dll" : "$(OUTDIR)" "$(OUTDIR)\libpqdll.obj" "$(INTDIR)\libpqdll.obj" "$(INTDIR)\libpq.res" +"$(OUTDIR)\$(OUTFILENAME).dll" : "$(OUTDIR)" "$(INTDIR)\libpq.res" $(LINK32) @<< $(LINK32_FLAGS) $(LINK32_OBJS) <<