summaryrefslogtreecommitdiff
path: root/src/backend/port/win32
Commit message (Collapse)AuthorAgeFilesLines
* Typo fix, per Thom BrownMagnus Hagander2010-02-091-2/+2
|
* Define the value for in6addr_any on MingW, since it provides the structMagnus Hagander2010-02-091-3/+10
| | | | | only in the header files and not in any libraries, yet declare it as an extern.
* Fix race condition in win32 signal handling.Magnus Hagander2010-01-311-5/+43
| | | | | | | | | | | | There was a race condition where the receiving pipe could be closed by the child thread if the main thread was pre-empted before it got a chance to create a new one, and the dispatch thread ran to completion during that time. One symptom of this is that rows in pg_listener could be dropped under heavy load. Analysis and original patch by Radu Ilie, with some small modifications by Magnus Hagander.
* Update copyright for the year 2010.Bruce Momjian2010-01-025-10/+10
|
* Remove non-ascii characters from source code.Bruce Momjian2009-12-281-2/+2
|
* 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef listBruce Momjian2009-06-113-10/+13
| | | | provided by Andrew.
* Update copyright for 2009.Bruce Momjian2009-01-015-10/+10
|
* Fix MinGW warnings re formats and unused variables. per ITAGAKI TakahiroAndrew Dunstan2008-04-161-2/+2
|
* More refactoring, so that the SUBSYS.o rules are now all in one place.Peter Eisentraut2008-02-191-8/+2
|
* Update copyrights in source tree to 2008.Bruce Momjian2008-01-015-10/+10
|
* pgindent run for 8.3.Bruce Momjian2007-11-152-44/+44
|
* Make variable static, per Tom.Magnus Hagander2007-10-291-2/+2
|
* Add compat file for dynamically loading the functions that MinGW is missingMagnus Hagander2007-10-292-2/+79
| | | | | the imports for. Add RegisterWaitForSingleObject() to the list of such functions, which should take care of the current buildfarm breakage.
* Use snprintf instead of wsprintf, and use getenv("APPDATA") instead ofMagnus Hagander2007-10-231-3/+3
| | | | | | | | | | | | | | SHGetFolderPath. This removes the direct dependency on shell32.dll and user32.dll, which eats a lot of "desktop heap" for each backend that's started. The desktop heap is a very limited resource, causing backends to no longer start once it's been exhausted. We still have indirect depdendencies on user32.dll through third party libraries, but those can't easily be removed. Dave Page
* On win32, retry reading when WSARecv returns WSAEWOULDBLOCK. There seemMagnus Hagander2007-06-041-10/+30
| | | | | | | to be cases when at least Windows 2000 can do this even though select just indicated that the socket is readable. Per report and analysis from Cyril VELTER.
* Native shared memory implementation for win32.Magnus Hagander2007-03-212-130/+2
| | | | Uses same underlying tech as before, but not the sysv emulation layer.
* On Windows, use pgwin32_waitforsinglesocket() instead of select() to wait forTom Lane2007-01-261-6/+9
| | | | | | | | | | input in the stats collector. Our select() emulation is apparently buggy for UDP sockets :-(. This should resolve problems with stats collection (and hence autovacuum) failing under more than minimal load. Diagnosis and patch by Magnus Hagander. Patch probably needs to be back-ported to 8.1 and 8.0, but first let's see if it makes the buildfarm happy...
* Remove remains of old depend target.Peter Eisentraut2007-01-201-8/+1
|
* Update CVS HEAD for 2007 copyright. Back branches are typically notBruce Momjian2007-01-055-10/+10
| | | | back-stamped for this.
* Patch of Win32 Encoding problem for server messages usingBruce Momjian2006-12-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | FormatMessage() (This should have been in 8.2.0, patched to 8.2.X and HEAD): I think this problem to be complex.... http://archives.postgresql.org/pgsql-hackers/2006-11/msg00042.php FormatMessage of windows cannot consider the encoding of the database. However, I should try the solution now. It is necessary to clear the problem. Multi character-code exists together in message and log. It doesn't consider the data base encoding that the user intended.... The user in multi-byte country can try this. http://inet.winpg.jp/~saito/pg_bug/MessageCheck.c That is, it is likely to become it in this manner.(Japanese) http://inet.winpg.jp/~saito/pg_bug/FormatMessage998.png Hiroshi Saito
* Fix infinite sleep and failes of send in Win32.Teodor Sigaev2006-10-131-25/+81
| | | | | | | | | | | | | | | 1) pgwin32_waitforsinglesocket(): WaitForMultipleObjectsEx now called with finite timeout (100ms) in case of FP_WRITE and UDP socket. If timeout occurs then pgwin32_waitforsinglesocket() tries to write empty packet goes to WaitForMultipleObjectsEx again. 2) pgwin32_send(): add loop around WSASend and pgwin32_waitforsinglesocket(). The reason is: for overlapped socket, 'ok' result from pgwin32_waitforsinglesocket() isn't guarantee that socket is still free, it can become busy again and following WSASend call will fail with WSAEWOULDBLOCK error. See http://archives.postgresql.org/pgsql-hackers/2006-10/msg00561.php
* pgindent run for 8.2.Bruce Momjian2006-10-042-5/+5
|
* Round microseconds on setitimer upwards.Bruce Momjian2006-08-091-7/+4
|
* On Win32, make minimum setitimer() sleep be 1ms, so sleeps < 1ms aren'tBruce Momjian2006-08-091-1/+7
| | | | | | rounded down to zero. Backpatch to 8.1.X.
* Fix statement_timeout on Win32 so that it properly treats micro-secondsBruce Momjian2006-08-091-2/+3
| | | | | | | | as micro-seconds, rather than as 100 microseconds, as it does now. This actually fixes all setitimer calls on Win32, but statement_timeout is the most visible fix. Backpatch to 8.1.X. 8.0 works as documented.
* Formatting improvement.Bruce Momjian2006-08-091-2/+2
|
* prevent multiplexing Windows kernel event objects we listen for across ↵Andrew Dunstan2006-07-291-1/+11
| | | | various sockets - should fix the occasional stats test regression failures we see.
* In a Windows backend, don't build src/port/pgsleep.c's version ofTom Lane2006-07-161-4/+12
| | | | | | | | pg_usleep at all. Instead call the replacement function in port/win32/signal.c by that name. Avoids tricky macro-redefinition logic and suppresses a compiler warning; furthermore it ensures that no one can accidentally use the non-signal-aware version of pg_usleep in a Windows backend.
* Fix a passel of recently-committed violations of the rule 'thou shaltTom Lane2006-07-141-4/+1
| | | | | have no other gods before c.h'. Also remove some demonstrably redundant #include lines, mostly of <errno.h> which was added to c.h years ago.
* Remove Win32 file, moved to /port.Bruce Momjian2006-06-081-191/+0
| | | | Magnus Hagander
* Prepare code to be built by MSVC:Bruce Momjian2006-06-071-2/+2
| | | | | | | | | | o remove many WIN32_CLIENT_ONLY defines o add WIN32_ONLY_COMPILER define o add 3rd argument to open() for portability o add include/port/win32_msvc directory for system includes Magnus Hagander
* Remove sema.c, superseded by win32_sema.c.Tom Lane2006-04-292-273/+3
|
* Suppress a couple of minor compiler warnings, per Magnus.Tom Lane2006-04-091-2/+3
|
* Update copyright for 2006. Update scripts.Bruce Momjian2006-03-057-14/+14
|
* Check that SID is enabled while checking for Windows admin privileges.Tom Lane2006-02-101-3/+3
| | | | Magnus
* Re-run pgindent, fixing a problem where comment lines after a blankBruce Momjian2005-11-222-14/+15
| | | | | | | | | comment line where output as too long, and update typedefs for /lib directory. Also fix case where identifiers were used as variable names in the backend, but as typedefs in ecpg (favor the backend for indenting). Backpatch to 8.1.X.
* Fix Windows setitimer() emulation to not depend on delivering an APCTom Lane2005-10-253-46/+83
| | | | | | to the main thread. This allows removal of WaitForSingleObjectEx() calls from the main thread, thereby allowing us to re-enable Qingqing Zhou's CHECK_FOR_INTERRUPTS performance improvement. Qingqing, Magnus, et al.
* Improve performance of CHECK_FOR_INTERRUPTS() macro on Windows by not doingTom Lane2005-10-211-13/+31
| | | | | | | a kernel call unless there's some evidence of a pending signal. This should bring its performance on Windows into line with the Unix version. Problem diagnosis and patch by Qingqing Zhou. Minor stylistic tweaks by moi ... if it's broken, it's my fault.
* Standard pgindent run for 8.1.Bruce Momjian2005-10-156-49/+49
|
* Recognize ERROR_SHARING_VIOLATION (translate to EACCES), increase logTom Lane2005-10-071-8/+11
| | | | | | level for unrecognized win32 error codes to LOG, and make messages conform to style guide. Per old suggestion from Qingqing Zhou, which seems to have gotten lost in the shuffle.
* Tag appropriate files for rc3PostgreSQL Daemon2004-12-317-14/+14
| | | | | | | | Also performed an initial run through of upgrading our Copyright date to extend to 2005 ... first run here was very simple ... change everything where: grep 1996-2004 && the word 'Copyright' ... scanned through the generated list with 'less' first, and after, to make sure that I only picked up the right entries ...
* Fix Win32 problems with signals and sockets, by making the forkexec codeTom Lane2004-11-171-8/+38
| | | | | | even uglier than it was already :-(. Also, on Windows only, use temporary shared memory segments instead of ordinary files to pass over critical variable values from postmaster to child processes. Magnus Hagander
* Use dynamically-sized buffers in pgwin32_is_service().Tom Lane2004-11-161-36/+71
| | | | Magnus Hagander
* > I think in addition the system global name "sharemem.1" should be made moreBruce Momjian2004-11-121-2/+2
| | | | | | | > pg specific, like "PostgreSQL.1". I have not done this since a new compile > would not detect a running old beta. But now would be the time (or never). Zeugswetter Andreas
* Clarify some error messagesPeter Eisentraut2004-11-092-12/+12
|
* Message style revisionsPeter Eisentraut2004-10-122-16/+16
|
* Here is a patch to fix win32 ssl builds. Summary of changes:Bruce Momjian2004-10-061-2/+2
| | | | | | | | | | | | | | | | | | | | | * Links with -leay32 and -lssleay32 instead of crypto and ssl. On win32, "crypto and ssl" is only used for static linking. * Initializes SSL in the backend and not just in the postmaster. We cannot pass the SSL context from the postmaster through the parameter file, because it contains function pointers. * Split one error check in be-secure.c. Previously we could not tell which of three calls actually failed. The previous code also returned incorrect error messages if SSL_accept() failed - that function needs to use SSL_get_error() on the return value, can't just use the error queue. * Since the win32 implementation uses non-blocking sockets "behind the scenes" in order to deliver signals correctly, implements a version of SSL_accept() that can handle this. Also, add a wait function in case SSL_read or SSL_write() needs more data. Magnus Hagander
* Fix places where WaitForxxx can block, to eliminate failure to detectTom Lane2004-09-072-9/+9
| | | | deadlock on Win32. Magnus Hagander
* Another pgindent run with lib typedefs added.Bruce Momjian2004-08-301-10/+10
|
* Pgindent run for 8.0.Bruce Momjian2004-08-297-279/+455
|