[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AC_PROG_MKDIR_P documentation

From: Paul Eggert
Subject: Re: AC_PROG_MKDIR_P documentation
Date: Sun, 04 Jun 2006 13:23:47 -0700
User-agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.4 (gnu/linux)

Thanks; I installed the following slightly-altered (and I hope improved :-)

2006-06-04  Stepan Kasal  <address@hidden>

        * doc/autoconf.texi (Limitations of Usual Tools): Correct
        information about race-free implementations of mkdir.

--- autoconf.texi       4 Jun 2006 19:56:27 -0000       1.1037
+++ autoconf.texi       4 Jun 2006 20:22:48 -0000       1.1038
@@ -3535,7 +3535,7 @@ This macro uses the @samp{mkdir -p} comm
 falls back on invoking @command{install-sh} with the @option{-d} option,
 so your package should
 contain @file{install-sh} as described under @code{AC_PROG_INSTALL}.
-A @file{install-sh} file that predates Autoconf 2.60 or Automake 1.10
+An @file{install-sh} file that predates Autoconf 2.60 or Automake 1.10
 is vulnerable to race conditions, so if you want to support parallel
 installs from
 different packages into the same directory you need to make sure you
@@ -13233,13 +13233,13 @@ Traditional @code{mkdir -p} implementati
 For example, if you invoke @code{mkdir -p a/b} and @code{mkdir -p a/c}
 at the same time, both processes might detect that @file{a} is missing,
 one might create @file{a}, then the other might try to create @file{a}
-and fail with a @code{File exists} diagnostic.  At least Solaris 10,
address@hidden 1.6, and address@hidden 3.4 are vulnerable to race
-conditions.  The @acronym{GNU} Core Utilities
-(since @samp{fileutils}
-version 4.1), address@hidden 5.0, and address@hidden are
-known to have a
-race-free @code{mkdir -p}.  This possible race is harmful in parallel
+and fail with a @code{File exists} diagnostic.  The @acronym{GNU} Core
+Utilities (@samp{fileutils} version 4.1), address@hidden 5.0,
address@hidden 2.0.2, and address@hidden 2.4 are known to be
+race-free when two processes invoke @code{mkdir -p} simultaneously, but
+earlier versions are vulnerable.  Solaris @command{mkdir} is still
+vulnerable as of Solaris 10, and other traditional Unix systems are
+probably vulnerable too.  This possible race is harmful in parallel
 builds when several @file{Makefile} rules call @code{mkdir -p} to
 construct directories.  You may use
 @code{install-sh -d} as a safe replacement, provided this script is
@@ -18597,7 +18597,7 @@ introduced in this document.
 @c  LocalWords:  CDPATH DUALCASE LINENO prepass Subshells lineno NULLCMD cmp wc
 @c  LocalWords:  MAILPATH scanset arg NetBSD Almquist printf expr cp
 @c  LocalWords:  Oliva awk Aaaaarg cmd regex xfoo GNV OpenVMS unwriteable te VM
address@hidden  LocalWords:  coreutils sparc Proulx SysV nbar nfoo maxdepth 
acdilrtu TWG mc
address@hidden  LocalWords:  sparc Proulx SysV nbar nfoo maxdepth acdilrtu TWG 
 @c  LocalWords:  mkdir exe uname OpenBSD Fileutils mktemp umask TMPDIR guid os
 @c  LocalWords:  fooXXXXXX Unicos parenthesization utimes hpux hppa unescaped
 @c  LocalWords:  pmake DOS's gmake ifoo DESTDIR autoconfiscated pc coff mips gg

reply via email to

[Prev in Thread] Current Thread [Next in Thread]