Re: Back-patch use of unnamed POSIX semaphores for Linux?
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alex Hunsaker <badalex@gmail.com>
Cc: Robert Haas <robertmhaas@gmail.com>,
"pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2016-12-07T22:42:52Z
Lists: pgsql-hackers
Alex Hunsaker <badalex@gmail.com> writes: > On Wed, Dec 7, 2016 at 1:12 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: >> But this is all kind of moot if Peter is right that systemd will zap >> POSIX shmem along with SysV semaphores. I've been trying to reproduce >> the issue on a Fedora 25 installation, and so far I can't get it to >> zap anything, so I'm a bit at a loss how to prove things one way or >> the other. > After logon, you should see "/usr/lib/systemd/systemd --user" running for > that user. After logout out, said proc should exit. Hmm ... after further experimentation, I still can't get this version of systemd (231) to do anything evil. It turns out that Fedora ships it with KillUserProcesses turned off by default, and maybe having that on is a prerequisite for the other behavior? But that doesn't make a lot of sense because we'd never be seeing the reports of databases moaning about lost semaphores if the processes got killed first. Anyway, I see nothing bad happening if KillUserProcesses is off, while if it's on then the database gets shut down reasonably politely via SIGTERM. Color me confused ... maybe systemd's behavior has changed? regards, tom lane
Commits
-
Make the different Unix-y semaphore implementations ABI-compatible.
- be7b2848c6d8 10.0 landed
-
Use unnamed POSIX semaphores, if available, on Linux and FreeBSD.
- ecb0d20a9d2e 10.0 cited