summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS4
-rwxr-xr-xbuild/shtool9
2 files changed, 12 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 796f82f207..6649a4965a 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,10 @@ PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2013, PHP 5.5.5
+- Buildsystem:
+ . Fixed bug #51076 (race condition in shtool's mkdir -p implementation).
+ (Mike, Raphael Geissert)
+
- Core:
. Fixed bug #64979 (Wrong behavior of static variables in closure generators).
(Nikita)
diff --git a/build/shtool b/build/shtool
index 684a01f5df..fc6ae1e6ef 100755
--- a/build/shtool
+++ b/build/shtool
@@ -1003,7 +1003,14 @@ mkdir )
if [ ".$opt_t" = .yes ]; then
echo "mkdir $pathcomp" 1>&2
fi
- mkdir $pathcomp || errstatus=$?
+ # See https://bugs.php.net/51076
+ # The fix is from Debian who have sent it
+ # upstream, too; but upstream seems dead.
+ mkdir $pathcomp || {
+ _errstatus=$?
+ [ -d "$pathcomp" ] || errstatus=${_errstatus}
+ unset _errstatus
+ }
if [ ".$opt_o" != . ]; then
if [ ".$opt_t" = .yes ]; then
echo "chown $opt_o $pathcomp" 1>&2