From: | Alexander Kuzmenkov <a(dot)kuzmenkov(at)postgrespro(dot)ru> |
---|---|
To: | Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp> |
Cc: | sk(at)zsrv(dot)org, tgl(at)sss(dot)pgh(dot)pa(dot)us, robertmhaas(at)gmail(dot)com, andres(at)anarazel(dot)de, stark(at)mit(dot)edu, a(dot)lubennikova(at)postgrespro(dot)ru, pgsql-hackers(at)postgresql(dot)org, g(dot)smolkin(at)postgrespro(dot)ru |
Subject: | Re: Reopen logfile on SIGHUP |
Date: | 2018-08-10 12:33:26 |
Message-ID: | 5142559a-82e6-b3e4-d6ed-8fd2d240c77e@postgrespro.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 08/09/2018 10:33 AM, Kyotaro HORIGUCHI wrote:
>
> - Since I'm not sure unlink is signal-handler safe on all
> supported platforms, I moved unlink() call out of
> checkLogrotateSignal() to SysLoggerMain, just before rotating
> log file.
Which platforms specifically do you have in mind? unlink() is required
to be async-signal-safe by POSIX.1-2001, which is required by UNIX 03,
and these are rather old.
For UNIX 03-certified distributions, see this list:
http://www.opengroup.org/csq/search/t=XY1.html
For FreeBSD, unlink() was signal-safe at least in 4.0, which was
released in 2000
https://www.freebsd.org/cgi/man.cgi?query=sigaction&apropos=0&sektion=0&manpath=FreeBSD+4.0-RELEASE&arch=default&format=html
Debian 4.0, which was released in 2007 and had a 2.6 kernel, also claims
to have a signal-safe unlink():
https://www.freebsd.org/cgi/man.cgi?query=signal&apropos=0&sektion=0&manpath=Debian+4.0.9&arch=default&format=html
--
Alexander Kuzmenkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company
From | Date | Subject | |
---|---|---|---|
Next Message | Arthur Zakirov | 2018-08-10 12:53:29 | Re: [HACKERS] WIP Patch: Pgbench Serialization and deadlock errors |
Previous Message | Thomas Munro | 2018-08-10 12:09:16 | Re: Postgres, fsync, and OSs (specifically linux) |