Thomas Munro <thomas.mu...@enterprisedb.com> writes: > On Wed, Nov 28, 2018 at 6:47 PM Tom Lane <t...@sss.pgh.pa.us> wrote: >> Is it possible that unlink() on APFS is not atomic?
> I think you might be right. > https://github.com/macdice/unlinktest Bleah. But you can do better than ask whether it's a bug: you can quote POSIX: The unlink() function shall remove a link to a file. If path names a symbolic link, unlink() shall remove the symbolic link named by path and shall not affect any file or directory named by the contents of the symbolic link. Otherwise, unlink() shall remove the link named by the pathname pointed to by path and shall decrement the link count of the file referenced by the link. When the file's link count becomes 0 and no process has the file open, the space occupied by the file shall be freed and the file shall no longer be accessible. If one or more processes have the file open when the last link is removed, the link shall be removed before unlink() returns, but the removal of the file contents shall be postponed until all references to the file are closed. Not a lot of wiggle room there. regards, tom lane