Follow-ups to the leftover-lock fix. On macOS a running Firefox writes nothing but an empty `.parentlock` held with an fcntl lock — no symlink, no pid — so reading only the Linux `lock` symlink missed it entirely and offered imports from a live, mid-write database. Node exposes no fcntl, so a throwaway `python3` child tries a non-blocking F_SETLK and reports whether it blocks; any failure to get a clean answer counts as held, so a probe problem can never unlock a live profile. The Linux symlink still short-circuits first. The symlink's owner half is honoured too: a non-loopback address is a shared profile locked from another machine, whose pid cannot be probed here, so it stays held. Also drops a Safari paragraph from `entryExists`' doc that described `databaseFileExists`' concern, not this helper's. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Julius Marminge committed on 9/4/2026, 6:20:46 AMparent266ec2a
3 files changedLine totals unavailable