| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
and use this in pq_getbyte_if_available.
It's only a limited implementation which swithes the whole emulation layer
no non-blocking mode, but that's enough as long as non-blocking is only
used during a short period of time, and only one socket is accessed during
this time.
|
|
|
|
|
|
|
|
|
| |
compilers, by applying a configure check to see if the compiler will accept
an unreferenced "static inline foo ..." function without warnings. It is
believed that such warnings are the only reason not to declare inlined
functions in headers, if the compiler understands "inline" at all.
Kurt Harriman
|
|
|
|
|
|
|
| |
the server.
Gets rid of a fairly ugly hack for Solaris, and also provides hostname
and IPV6 support.
|
|
|
|
| |
members complaining.
|
| |
|
|
|
|
| |
IPV6 headers in newer SDKs.
|
|
|
|
|
|
|
|
|
|
| |
that memory allocated by starting third party DLLs doesn't end up
conflicting with it.
Hopefully this solves the long-time issue with "could not reattach
to shared memory" errors on Win32.
Patch from Tsutomu Yamada and me, based on idea from Trevor Talbot.
|
|
|
|
| |
provided by Andrew.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Also, if linked against other versions than the default MSVCRT library
(for example the MSVC build which links against MSVCRT80), also update
the cache in the default MSVCRT at the same time.
This should fix the issues with setting LC_MESSAGES on the MSVC build.
Original patch from Hiroshi Inoue and Hiroshi Saito, much rewritten
by me.
|
| |
|
|
|
|
|
| |
header file. SunOS 4 is probably broken anyway, but this item stuck out as
completely weird.
|
|
|
|
|
|
|
|
|
|
| |
This particular batch was just for *.c and *.h file.
The changes were made with the following 2 commands:
find . \( \( -name 'libstemmer' -o -name 'expected' -o -name 'ppport.h' \) -prune \) -o \( -name '*.[ch]' \) \( -exec grep -q '\$PostgreSQL' {} \; -o -print \) | while read file ; do head -n 1 < $file | grep -q '^/\*' && echo $file; done | xargs -l sed -i -e '1s/^\// /' -e '1i/*\n * $PostgreSQL:$ \n *'
find . \( \( -name 'libstemmer' -o -name 'expected' -o -name 'ppport.h' \) -prune \) -o \( -name '*.[ch]' \) \( -exec grep -q '\$PostgreSQL' {} \; -o -print \) | xargs -l sed -i -e '1i/*\n * $PostgreSQL:$ \n */'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
data structures and backend internal APIs. This solves problems we've seen
recently with inconsistent layout of pg_control between machines that have
32-bit time_t and those that have already migrated to 64-bit time_t. Also,
we can get out from under the problem that Windows' Unix-API emulation is not
consistent about the width of time_t.
There are a few remaining places where local time_t variables are used to hold
the current or recent result of time(NULL). I didn't bother changing these
since they do not affect any cross-module APIs and surely all platforms will
have 64-bit time_t before overflow becomes an actual risk. time_t should
be avoided for anything visible to extension modules, however.
|
|
|
|
| |
builds of libpq in both 32 and 64-bit. Per gripe from Hiroshi Saito.
|
|
|
|
|
|
| |
used when building addons.
Dave Page
|
| |
|
| |
|
| |
|
|
|
|
| |
for this.
|
|
|
|
|
|
|
|
| |
childprocess deaths instead of using one thread per child. This drastastically
reduces the address space usage and should allow for more backends running.
Also change the win32_waitpid functionality to use an IO Completion Port for
queueing child death notices instead of using a fixed-size array.
|
|
|
|
| |
third party includes (like tcl) that define DLLIMPORT.
|
|
|
|
|
| |
by dynamically loading the function that's missing from the MingW
headers and library.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a Linux kernel bug that apparently exists in every extant kernel
version: sometimes shmctl() will fail with EIDRM when EINVAL is correct.
We were assuming that EIDRM indicates a possible conflict with pre-existing
backends, and refusing to start the postmaster when this happens. Fortunately,
there does not seem to be any case where Linux can legitimately return EIDRM
(it doesn't track shmem segments in a way that would allow that), so we can
get away with just assuming that EIDRM means EINVAL on this platform.
Per reports from Michael Fuhr and Jon Lapham --- it's a bit surprising
we have not seen more reports, actually.
|
|
|
|
|
|
| |
right, there seems precious little reason to have a pile of hand-maintained
endianness definitions in src/include/port/*.h. Get rid of those, and make
the couple of places that used them depend on WORDS_BIGENDIAN instead.
|
|
|
|
|
| |
Also remove headers for old sysv semaphore emulation that were forgotten
when that was changed about a year ago.
|
|
|
|
|
|
|
|
|
|
| |
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...
|
| |
|
| |
|
|
|
|
|
| |
values. Point to /include/ntstatus.h for an exception list, rather than
a URL.
|
|
|
|
| |
than hex codes, using FormatMessage().
|
| |
|
|
|
|
| |
exception value in hex, and give a URL where the value can be looked-up.
|
|
|
|
|
|
| |
Backpatch to 8.2.X.
L Bayuk
|
|
|
|
| |
per Stefan Kaltenbrunner.
|
|
|
|
| |
infrastructure.
|
| |
|
|
|
|
| |
proposed patches from John Jorgensen and Steve Singer.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
defined too late.
|
|
|
|
| |
per Magnus.
|
|
|
|
| |
comment. 8.1.X is not affected by this commit.
|
|
|
|
|
|
| |
interface builds like libpq need it.
Backpatch addition to 8.1.X.
|
| |
|
|
|
|
| |
Hiroshi Saito
|
|
|
|
|
|
|
|
|
| |
because they are used for testing the return value from system().
(WIN32 doesn't overlay the return code with other failure conditions
like Unix does, so they are just simple macros.)
Fix regression checks to properly handle diff failures on Win32 using
the new macros.
|
|
|
|
|
|
|
|
| |
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.
|