From: Vincent Lefevre <vincent@vinc17.org>
To: zsh-users@sunsite.dk
Subject: Re: File locking within zsh?
Date: Sat, 13 May 2006 01:24:02 +0200 [thread overview]
Message-ID: <20060512232402.GB871@prunille.vinc17.org> (raw)
In-Reply-To: <lt3bffqbf5.fsf@newsol.starnix.com>
On 2006-05-12 15:40:30 -0400, Tim Writer wrote:
> I'm not sure that the symlink() system call is guaranteed to be
> atomic but link() is.
OK for link(). The Linux open(2) man page says:
O_EXCL When used with O_CREAT, if the file already exists it is an
error and the open() will fail. In this context, a symbolic link
exists, regardless of where it points to. O_EXCL is broken on
NFS file systems; programs which rely on it for performing lock-
ing tasks will contain a race condition. The solution for per-
forming atomic file locking using a lockfile is to create a
unique file on the same file system (e.g., incorporating host-
name and pid), use link(2) to make a link to the lockfile. If
link() returns 0, the lock is successful. Otherwise, use
stat(2) on the unique file to check if its link count has
increased to 2, in which case the lock is also successful.
--
Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / SPACES project at LORIA
next prev parent reply other threads:[~2006-05-12 23:24 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-09 22:04 Lloyd Zusman
2006-05-10 3:31 ` Tim Writer
2006-05-10 5:59 ` Brian K. White
2006-05-10 10:02 ` Lloyd Zusman
2006-05-10 22:04 ` Tim Writer
2006-05-11 3:41 ` Bart Schaefer
2006-05-11 14:25 ` Tim Writer
2006-05-11 15:01 ` Peter Stephenson
2006-05-12 4:22 ` Tim Writer
2006-05-12 9:17 ` Subshells and parameters (was: File locking within zsh?) Vincent Lefevre
2006-05-12 12:09 ` Subshells and parameters Lloyd Zusman
2006-05-12 23:09 ` Vincent Lefevre
2006-05-13 2:05 ` Lloyd Zusman
2006-05-17 14:24 ` Vincent Lefevre
2006-05-17 15:42 ` Bart Schaefer
2006-05-17 16:07 ` Vincent Lefevre
2006-05-13 2:10 ` Dan Nelson
2006-05-11 16:13 ` File locking within zsh? Brian K. White
2006-05-10 17:13 ` Vincent Lefevre
2006-05-11 15:45 ` Brian K. White
2006-05-12 7:54 ` Vincent Lefevre
2006-05-12 19:40 ` Tim Writer
2006-05-12 23:24 ` Vincent Lefevre [this message]
2006-05-10 21:53 ` Tim Writer
2006-05-10 6:29 ` DervishD
2006-05-10 10:02 ` Lloyd Zusman
2006-05-10 21:21 ` DervishD
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060512232402.GB871@prunille.vinc17.org \
--to=vincent@vinc17.org \
--cc=zsh-users@sunsite.dk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).