Skip to content
This repository has been archived by the owner on Jan 29, 2020. It is now read-only.

Commit

Permalink
Merge branch 'hotfix/zendframework/zendframework#6573-zend-cache-file…
Browse files Browse the repository at this point in the history
…system-race-conditions-fixes-for-zendframework/zf2#6435'

Close zendframework/zendframework#6573
Close zendframework/zendframework#6435
  • Loading branch information
Ocramius committed Nov 22, 2014
153 parents bfa1cdd + a5fb9cb + 02e14e6 + e24be06 + 1cd130f + 2f4d84a + c5055d9 + b5302e2 + 9969a8b + 83a796c + 7f06dd1 + 40e1948 + fae5b14 + 1d8b0d4 + 0885ee4 + 31378a4 + 22dc55a + 4fe9653 + 0835021 + 26ee41a + be4158f + a1e2d7e + 4abdf38 + e59ea5a + fbff658 + 48d0341 + 401d180 + 4e95264 + 5431207 + a7a7974 + 7c3f597 + a50748b + 700cf3a + 1582c31 + 016f50c + 9852497 + 073b126 + bd99c5c + 56451bd + 8fe4cad + 18812d8 + 89590ab + 0f8f25b + c2a03a9 + 4c690cd + 52cb4e6 + f7ed984 + 1d190a2 + 3c5d19b + c3c849d + faa6e57 + ad46181 + 12a401e + 3738445 + 65aacba + bf5f5a3 + c2ac9c0 + 6d7cf99 + 1841b47 + f81171b + 5ffaadf + cd6d5f2 + a512601 + 926e71f + 1f29b3e + a75171a + 9a8e72f + 814716e + 88d9371 + 678232d + a0560e8 + 4ff045c + ac805a6 + 41f360c + 1939a3c + 730da5d + dd0a1b5 + 1bc1ed5 + cea3413 + f2b47df + 2b8aa6a + 42cb3fe + 46afe3b + ef4289e + f40a98a + 8c27e9d + 512d6ca + b1452f8 + 9f6e228 + cf96a5a + aa9ef86 + 04be01e + 93487ba + c640cb5 + ab2b436 + a876e82 + 01f54c9 + f0abecc + 920eae1 + db4f625 + f51678c + 5975f0e + e9d78fe + 03de5ee + d7320d7 + 16ff5c5 + f170b61 + b506606 + f6c7309 + 675c421 + 43220df + c076d41 + e9406c0 + bb1710e + 565433c + be0baa3 + 8d2dae7 + ba17210 + bf83129 + 40926a2 + a7690f0 + 4fbd64e + f1f095f + 5077dc6 + 7d6f60c + a5f3296 + e036825 + 337996c + 285fc46 + 277a8aa + 0103b22 + 0d32a70 + bb27ee5 + e8ecd1e + f2b29a0 + 5205046 + 257c166 + 3122c56 + a8eef4b + 736bf24 + f1bdd85 + 30d927d + 0b20126 + ef5cf6f + 2efe2a7 + 9c5c0a0 + b163911 + 078c1c8 + ae78853 + 4290f30 + 77fe406 + fb5d494 + c811097 commit 0a8945e
Showing 1 changed file with 17 additions and 1 deletion.
18 changes: 17 additions & 1 deletion src/Storage/Adapter/Filesystem.php
Original file line number Diff line number Diff line change
Expand Up @@ -1413,8 +1413,16 @@ protected function prepareDirectoryStructure($file)
}

if (!$res) {
$oct = ($perm === false) ? '777' : decoct($perm);
$err = ErrorHandler::stop();

// Issue 6435:
// mkdir could fail because of a race condition it was already created by another process
// after the first file_exists above
if (file_exists($pathname)) {
return;
}

$oct = ($perm === false) ? '777' : decoct($perm);
throw new Exception\RuntimeException("mkdir('{$pathname}', 0{$oct}, true) failed", 0, $err);
}

Expand Down Expand Up @@ -1452,6 +1460,14 @@ protected function prepareDirectoryStructure($file)
}

if (!$res) {

// Issue 6435:
// mkdir could fail because of a race condition it was already created by another process
// after the first file_exists above ... go to the next path part.
if (file_exists($path)) {
continue;
}

$oct = ($perm === false) ? '777' : decoct($perm);
ErrorHandler::stop();
throw new Exception\RuntimeException(
Expand Down

0 comments on commit 0a8945e

Please sign in to comment.