Skip to content

Commit

Permalink
Merge pull request #377 from a-shpota/fix-writefile-sysplugin
Browse files Browse the repository at this point in the history
fix 'mkdir(): File exists' error on create directory from parallel processes
  • Loading branch information
uwetews authored Jul 21, 2017
2 parents 67e9d08 + 6768340 commit ba2de97
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions libs/sysplugins/smarty_internal_runtime_writefile.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,11 @@ public function writeFile($_filepath, $_contents, Smarty $smarty)
}

$_dirpath = dirname($_filepath);
// if subdirs, create dir structure
if ($_dirpath !== '.' && !file_exists($_dirpath)) {
mkdir($_dirpath, $_dir_perms, true);

// if subdirs, create dir structure
if ($_dirpath !== '.' && !@mkdir($_dirpath, $_dir_perms, true) && !is_dir($_dirpath)) {
error_reporting($_error_reporting);
throw new SmartyException("unable to create directory {$_dirpath}");
}

// write to tmp file, then move to overt file lock race condition
Expand Down

0 comments on commit ba2de97

Please sign in to comment.