postgresql/src/backend
Tom Lane 41bd2cf55c Prevent interrupts while reporting non-ERROR elog messages.
This should eliminate the risk of recursive entry to syslog(3), which
appears to be the cause of the hang reported in bug #9551 from James
Morton.

Arguably, the real problem here is auth.c's willingness to turn on
ImmediateInterruptOK while executing fairly wide swaths of backend code.
We may well need to work at narrowing the code ranges in which the
authentication_timeout interrupt is enabled.  For the moment, though,
this is a cheap and reasonably noninvasive fix for a field-reported
failure; the other approach would be complex and not necessarily
bug-free itself.

Back-patch to all supported branches.
2014-03-13 20:59:45 -04:00
..
access In WAL replay, restore GIN metapage unconditionally to avoid torn page. 2014-03-12 10:05:46 +02:00
bootstrap Avoid repeated name lookups during table and index DDL. 2014-02-17 09:33:32 -05:00
catalog Avoid repeated name lookups during table and index DDL. 2014-02-17 09:33:32 -05:00
commands Avoid transaction-commit race condition while receiving a NOTIFY message. 2014-03-13 12:02:56 -04:00
executor Don't reject ROW_MARK_REFERENCE rowmarks for materialized views. 2014-03-06 11:37:04 -05:00
foreign Arrange to cache FdwRoutine structs in foreign tables' relcache entries. 2013-03-06 23:48:09 -05:00
lib Reset the binary heap in MergeAppend rescans. 2013-08-30 19:15:32 -04:00
libpq Clear retry flags properly in replacement OpenSSL sock_write function. 2013-12-05 12:48:31 -05:00
main Fix possible crashes due to using elog/ereport too early in startup. 2014-01-11 16:35:30 -05:00
nodes Avoid repeated name lookups during table and index DDL. 2014-02-17 09:33:32 -05:00
optimizer Fix bogus handling of "postponed" lateral quals. 2014-01-30 14:51:19 -05:00
parser Remove broken code that tried to handle OVERLAPS with a single argument. 2014-02-18 12:44:24 -05:00
po Translation updates 2014-02-17 16:54:31 -05:00
port Fix unsafe references to errno within error messaging logic. 2014-01-29 20:04:01 -05:00
postmaster Remove the correct pgstat file on DROP DATABASE 2014-03-05 13:03:29 -03:00
regex Allow regex operations to be terminated early by query cancel requests. 2014-03-01 15:21:00 -05:00
replication Fix typo in comment. 2014-03-07 10:38:53 +02:00
rewrite Avoid getting more than AccessShareLock when deparsing a query. 2014-03-06 19:31:09 -05:00
snowball Update copyrights for 2013 2013-01-01 17:15:01 -05:00
storage Fix dangling smgr_owner pointer when a fake relcache entry is freed. 2014-03-07 13:29:24 +02:00
tcop Avoid repeated name lookups during table and index DDL. 2014-02-17 09:33:32 -05:00
tsearch Avoid memcpy() with same source and destination address. 2014-03-07 13:29:19 +02:00
utils Prevent interrupts while reporting non-ERROR elog messages. 2014-03-13 20:59:45 -04:00
.gitignore Add gitignore for mingw/cygwin build outputs 2011-06-09 18:11:47 +02:00
common.mk Call check_keywords.pl in maintainer-check 2012-02-27 13:53:12 +02:00
Makefile Move relpath() to libpgcommon 2013-02-21 22:46:17 -03:00
nls.mk Add libpgcommon to backend gettext source files 2013-10-21 06:20:05 -04:00