Edit report at https://bugs.php.net/bug.php?id=35326&edit=1
ID: 35326
Updated by: pajoye@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: Feature/Change Request
+Package: *General Issues
Operating System: Linux
PHP Version: 5.1.6
Block user comment: N
Private report: N
New Comment:
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.
Previous Comments:
------------------------------------------------------------------------
[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.
------------------------------------------------------------------------
[2005-11-22 12:13:10] tony2001@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php5-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5-win32-latest.zip
------------------------------------------------------------------------
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