Edit report at https://bugs.php.net/bug.php?id=35326&edit=1
ID: 35326 Updated by: paj...@php.net Reported by: bugs dot php dot net at chsc dot dk Summary: Concurrency issue with recursive mkdir Status: Open Type: Feature/Change Request Package: *General Issues Operating System: Linux PHP Version: 5.1.6 Block user comment: N Private report: N New Comment: Should have been: ... and will drastically affect performance without actually solving the problem.... Previous Comments: ------------------------------------------------------------------------ [2013-10-01 04:15:57] paj...@php.net I am not sure it is actually a PHP problem. To create the right locking mechanism to avoid such issue to happen between (almost) simultaneous requests is the application developer job, not the core. Adding such tests should be done in almost all file creation operations (and some other) and will drastically performance without actually solving the problem. ------------------------------------------------------------------------ [2013-09-30 10:39:45] me at vlastv dot ru Problem still exists in PHP 5.4.1. ------------------------------------------------------------------------ [2013-07-23 22:55:07] gustavo dot straube at gmail dot com Problem still exists in PHP 5.3.3. ------------------------------------------------------------------------ [2006-10-10 07:25:52] bugs dot php dot net at chsc dot dk Problem still exists in PHP 5.1.6. ------------------------------------------------------------------------ [2005-11-22 13:52:24] bugs dot php dot net at chsc dot dk Yes, it also occurs with the CVS snapshot (this time I tried with the CGI version). AFAICS the problem is in php_plain_files_mkdir in main/streams/plain_wrapper.c. If php_mkdir() or VCWD_MKDIR() returns false, the method gives up instead of checking whether directory exists anyway, i.e. if it was created by another thread. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=35326 -- Edit this bug report at https://bugs.php.net/bug.php?id=35326&edit=1