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

« back to all changes in this revision

Viewing changes to src/backend/storage/ipc/ipc.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:
4
4
 *        POSTGRES inter-process communication definitions.
5
5
 *
6
6
 * This file is misnamed, as it no longer has much of anything directly
7
 
 * to do with IPC.      The functionality here is concerned with managing
 
7
 * to do with IPC.  The functionality here is concerned with managing
8
8
 * exit-time cleanup for either a postmaster or a backend.
9
9
 *
10
10
 *
84
84
 *              -cim 2/6/90
85
85
 *
86
86
 *              Unfortunately, we can't really guarantee that add-on code
87
 
 *              obeys the rule of not calling exit() directly.  So, while
 
87
 *              obeys the rule of not calling exit() directly.  So, while
88
88
 *              this is the preferred way out of the system, we also register
89
89
 *              an atexit callback that will make sure cleanup happens.
90
90
 * ----------------------------------------------------------------
103
103
                 * fixed file name, each backend will overwrite earlier profiles. To
104
104
                 * fix that, we create a separate subdirectory for each backend
105
105
                 * (./gprof/pid) and 'cd' to that subdirectory before we exit() - that
106
 
                 * forces mcleanup() to write each profile into its own directory.      We
 
106
                 * forces mcleanup() to write each profile into its own directory.  We
107
107
                 * end up with something like: $PGDATA/gprof/8829/gmon.out
108
108
                 * $PGDATA/gprof/8845/gmon.out ...
109
109
                 *
246
246
 *              on_proc_exit
247
247
 *
248
248
 *              this function adds a callback function to the list of
249
 
 *              functions invoked by proc_exit().       -cim 2/6/90
 
249
 *              functions invoked by proc_exit().   -cim 2/6/90
250
250
 * ----------------------------------------------------------------
251
251
 */
252
252
void
273
273
 *              on_shmem_exit
274
274
 *
275
275
 *              this function adds a callback function to the list of
276
 
 *              functions invoked by shmem_exit().      -cim 2/6/90
 
276
 *              functions invoked by shmem_exit().  -cim 2/6/90
277
277
 * ----------------------------------------------------------------
278
278
 */
279
279
void