zsh-users
 help / color / mirror / code / Atom feed
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


  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).