~ubuntu-branches/ubuntu/trusty/postgresql-9.3/trusty-proposed

« back to all changes in this revision

Viewing changes to src/backend/storage/ipc/pmsignal.c

  • Committer: Package Import Robot
  • Author(s): Martin Pitt
  • Date: 2014-07-24 16:13:59 UTC
  • mfrom: (1.1.8)
  • Revision ID: package-import@ubuntu.com-20140724161359-uk325qfv03euxuuh
Tags: 9.3.5-0ubuntu0.14.04.1
* New upstream bug fix release: (LP: #1348176)
  - pg_upgrade: Users who upgraded to version 9.3 using pg_upgrade may have
    an issue with transaction information which causes VACUUM to eventually
    fail. These users should run the script provided in the release notes to
    determine if their installation is affected, and then take the remedy
    steps outlined there.
  - Various data integrity and other bug fixes.
  - Secure Unix-domain sockets of temporary postmasters started during make
    check.
    Any local user able to access the socket file could connect as the
    server's bootstrap superuser, then proceed to execute arbitrary code as
    the operating-system user running the test, as we previously noted in
    CVE-2014-0067. This change defends against that risk by placing the
    server's socket in a temporary, mode 0700 subdirectory of /tmp.
  - See release notes for details:
    http://www.postgresql.org/about/news/1534/
* Remove pg_regress patches to support --host=/path, obsolete with above
  upstream changes and not applicable any more.
* Drop tcl8.6 patch, applied upstream.
* Add missing logrotate test dependency.

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
 
27
27
/*
28
28
 * The postmaster is signaled by its children by sending SIGUSR1.  The
29
 
 * specific reason is communicated via flags in shared memory.  We keep
 
29
 * specific reason is communicated via flags in shared memory.  We keep
30
30
 * a boolean flag for each possible "reason", so that different reasons
31
 
 * can be signaled by different backends at the same time.      (However,
 
31
 * can be signaled by different backends at the same time.  (However,
32
32
 * if the same reason is signaled more than once simultaneously, the
33
33
 * postmaster will observe it only once.)
34
34
 *
42
42
 * have three possible states: UNUSED, ASSIGNED, ACTIVE.  An UNUSED slot is
43
43
 * available for assignment.  An ASSIGNED slot is associated with a postmaster
44
44
 * child process, but either the process has not touched shared memory yet,
45
 
 * or it has successfully cleaned up after itself.      A ACTIVE slot means the
 
45
 * or it has successfully cleaned up after itself.  A ACTIVE slot means the
46
46
 * process is actively using shared memory.  The slots are assigned to
47
47
 * child processes at random, and postmaster.c is responsible for tracking
48
48
 * which one goes with which PID.