postgresql/src/include
Robert Haas 3b790d256f Fix corner-case bug in WaitEventSetWaitBlock on Windows.
If we do not reset the FD_READ event, WaitForMultipleObjects won't
return it again again unless we've meanwhile read from the socket,
which is generally true but not guaranteed.  WaitEventSetWaitBlock
itself may fail to return the event to the caller if the latch is
also set, and even if we changed that, the caller isn't obliged to
handle all returned events at once.  On non-Windows systems, the
socket-read event is purely level-triggered, so this issue does
not exist.  To fix, make Windows reset the event when needed.

This bug was introduced by 98a64d0bd7,
and causes hangs when trying to use the pldebugger extension.

Patch by Amit Kapial.  Reported and tested by Ashutosh Sharma, who
also provided some analysis.  Further analysis by Michael Paquier.
2016-12-21 11:01:48 -05:00
..
access Fix locking problem in _hash_squeezebucket() / _hash_freeovflpage(). 2016-12-19 12:31:50 -05:00
bootstrap Update copyright for 2016 2016-01-02 13:33:40 -05:00
catalog Reorder pg_sequence columns to avoid alignment issue 2016-12-21 09:06:49 -05:00
commands Add pg_sequence system catalog 2016-12-20 08:28:18 -05:00
common Rename "pg_xlog" directory to "pg_wal". 2016-10-20 11:32:18 -04:00
datatype Be more careful about out-of-range dates and timestamps. 2016-03-16 19:09:28 -04:00
executor Provide a DSA area for all parallel queries. 2016-12-19 17:11:46 -05:00
fe_utils Fix assorted places in psql to print version numbers >= 10 in new style. 2016-08-16 15:58:45 -04:00
foreign Fix typo in comment. 2016-10-18 13:43:27 -04:00
lib Permit dump/reload of not-too-large >1GB tuples 2016-12-02 00:34:01 -03:00
libpq Refactor the code for verifying user's password. 2016-12-12 12:48:13 +02:00
mb Update copyright for 2016 2016-01-02 13:33:40 -05:00
nodes Provide a DSA area for all parallel queries. 2016-12-19 17:11:46 -05:00
optimizer Speed up planner's scanning for parallel-query hazards. 2016-08-19 14:03:13 -04:00
parser Fix reporting of column typmods for multi-row VALUES constructs. 2016-12-08 11:40:02 -05:00
port Remove "sco" and "unixware" ports. 2016-10-11 11:26:04 -04:00
portability Update copyright for 2016 2016-01-02 13:33:40 -05:00
postmaster Add max_parallel_workers GUC. 2016-12-02 07:42:58 -05:00
regex Make locale-dependent regex character classes work for large char codes. 2016-09-05 17:06:29 -04:00
replication Support quorum-based synchronous replication. 2016-12-19 21:15:30 +09:00
rewrite Add support for restrictive RLS policies 2016-12-05 15:50:55 -05:00
snowball Update copyright for 2016 2016-01-02 13:33:40 -05:00
storage Fix corner-case bug in WaitEventSetWaitBlock on Windows. 2016-12-21 11:01:48 -05:00
tcop Stop the executor if no more tuples can be sent from worker to leader. 2016-06-06 14:52:58 -04:00
tsearch Improve documentation around TS_execute(). 2016-12-16 11:50:32 -05:00
utils Add pg_sequence system catalog 2016-12-20 08:28:18 -05:00
.gitignore Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
c.h Add likely/unlikely() branch hint macros. 2016-10-14 16:05:30 -07:00
fmgr.h Revert "Provide DLLEXPORT markers for C functions via PG_FUNCTION_INFO_V1 macro." 2016-11-07 10:19:22 -05:00
funcapi.h Widen query numbers-of-tuples-processed counters to uint64. 2016-03-12 16:05:29 -05:00
getaddrinfo.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
getopt_long.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
Makefile Create src/fe_utils/, and move stuff into there from pg_dump's dumputils. 2016-03-24 15:55:57 -04:00
miscadmin.h Replace PostmasterRandom() with a stronger source, second attempt. 2016-12-05 13:42:59 +02:00
pg_config_ext.h.in Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_ext.h.win32 Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_manual.h Implement table partitioning. 2016-12-07 13:17:55 -05:00
pg_config.h.in Replace PostmasterRandom() with a stronger source, second attempt. 2016-12-05 13:42:59 +02:00
pg_config.h.win32 Replace PostmasterRandom() with a stronger source, second attempt. 2016-12-05 13:42:59 +02:00
pg_getopt.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
pg_trace.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
pgstat.h Simplify LWLock tranche machinery by removing array_base/array_stride. 2016-12-16 11:29:23 -05:00
pgtar.h Allow pg_basebackup to stream transaction log in tar mode 2016-10-23 15:23:11 +02:00
pgtime.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
port.h Replace PostmasterRandom() with a stronger source, second attempt. 2016-12-05 13:42:59 +02:00
postgres_ext.h Add a nonlocalized version of the severity field to client error messages. 2016-08-26 16:20:17 -04:00
postgres_fe.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
postgres.h Be pickier about converting between Name and Datum. 2016-09-13 17:17:48 -04:00
rusagestub.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
windowapi.h Update copyright for 2016 2016-01-02 13:33:40 -05:00