Обсуждение: pgsql: On systems that have setsid(2) (which should be just about

Поиск
Список
Период
Сортировка

pgsql: On systems that have setsid(2) (which should be just about

От
tgl@postgresql.org (Tom Lane)
Дата:
Log Message:
-----------
On systems that have setsid(2) (which should be just about everything except
Windows), arrange for each postmaster child process to be its own process
group leader, and deliver signals SIGINT, SIGTERM, SIGQUIT to the whole
process group not only the direct child process.  This provides saner behavior
for archive and recovery scripts; in particular, it's possible to shut down a
warm-standby recovery server using "pg_ctl stop -m immediate", since delivery
of SIGQUIT to the startup subprocess will result in killing the waiting
recovery_command.  Also, this makes Query Cancel and statement_timeout apply
to scripts being run from backends via system().  (There is no support in the
core backend for that, but it's widely done using untrusted PLs.)  Per gripe
from Stephen Harris and subsequent discussion.

Modified Files:
--------------
    pgsql/src/backend/access/transam:
        xlog.c (r1.256 -> r1.257)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xlog.c.diff?r1=1.256&r2=1.257)
    pgsql/src/backend/bootstrap:
        bootstrap.c (r1.226 -> r1.227)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/bootstrap/bootstrap.c.diff?r1=1.226&r2=1.227)
    pgsql/src/backend/postmaster:
        autovacuum.c (r1.28 -> r1.29)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/postmaster/autovacuum.c.diff?r1=1.28&r2=1.29)
        bgwriter.c (r1.30 -> r1.31)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/postmaster/bgwriter.c.diff?r1=1.30&r2=1.31)
        pgarch.c (r1.26 -> r1.27)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/postmaster/pgarch.c.diff?r1=1.26&r2=1.27)
        pgstat.c (r1.139 -> r1.140)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/postmaster/pgstat.c.diff?r1=1.139&r2=1.140)
        postmaster.c (r1.502 -> r1.503)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/postmaster/postmaster.c.diff?r1=1.502&r2=1.503)
        syslogger.c (r1.28 -> r1.29)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/postmaster/syslogger.c.diff?r1=1.28&r2=1.29)
    pgsql/src/backend/storage/lmgr:
        proc.c (r1.180 -> r1.181)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/lmgr/proc.c.diff?r1=1.180&r2=1.181)
    pgsql/src/backend/tcop:
        postgres.c (r1.517 -> r1.518)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/tcop/postgres.c.diff?r1=1.517&r2=1.518)
    pgsql/src/backend/utils/adt:
        misc.c (r1.54 -> r1.55)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/misc.c.diff?r1=1.54&r2=1.55)