The standard library of the D programming language
Find a file
Vladimir Panteleev d3f9e24f91 std.file: Fix race condition when mkdirRecurse runs concurrently
mkdirRecurse would crash if a directory was created between its
exists() and mkdir() calls. This could occur if mkdirRecurse was called
at the same time from mutiple threads or processes.

Instead of relying on the exists() check to indicate whether the next
mkdir() should succeed, we explicitly ignore "already exists" errors
from the OS. Note that this changes the behavior of mkdirRecurse when
the leaf directory already existed: previously it would throw, whereas
now it will silently succeed. The new behavior is conformant with some
other implementations of "recursive mkdir": the -p flag of the GNU
tool, Ruby's mkpath, Java's mkdirs, and Perl's make_path. (On the
other hand, the old behavior was equivalent to the behavior of
Python's makedirs).
2014-01-06 08:36:05 +00:00
etc/c fix Issue 10710 - phobos depends on versioned libcurl 2013-12-20 15:38:11 +01:00
std std.file: Fix race condition when mkdirRecurse runs concurrently 2014-01-06 08:36:05 +00:00
.gitignore .gitignore Makefile 2013-12-05 11:25:33 +01:00
changelog.dd DDoc tweaks and fixes 2013-04-18 23:49:06 +00:00
CONTRIBUTING.md Add Contribution Guidelines 2013-08-15 11:10:36 +02:00
index.d Update index.d 2013-03-27 13:55:35 -03:00
LICENSE_1_0.txt Changed Phobos to use the Boost license. Currently, all public domain modules and all licensed modules by Walter, Andrei, Bartosz, and Don have been changed to use this license (excepting std.c, for the moment). Ideally, all Phobos modules will eventually be distributed under this license, which means obtaining permission from a few more authors, deleting, or rewriting some modules. 2009-09-16 18:19:51 +00:00
posix.mak Remove modules crc32 and std.md5 which had been deprecated by 6ff6adc5bf 2013-12-26 15:55:10 +01:00
README.md Trivial grammar fix in README.md. 2013-12-05 07:47:58 -08:00
unittest.d Remove modules crc32 and std.md5 which had been deprecated by 6ff6adc5bf 2013-12-26 15:55:10 +01:00
win32.mak Remove modules crc32 and std.md5 which had been deprecated by 6ff6adc5bf 2013-12-26 15:55:10 +01:00
win64.mak Remove modules crc32 and std.md5 which had been deprecated by 6ff6adc5bf 2013-12-26 15:55:10 +01:00

D Logo Phobos Standard Library

Phobos is the standard library that comes with the D Programming Language Compiler.

Download

Phobos is packaged together with the compiler. You should download the whole precompiled package.

To build everything yourself, there is a description in the wiki.

Phobos is distributed under Boost Software Licence. See the licence file.

I Want to Contribute

Great! See the CONTRIBUTING.md file.