8017229292
When `ngcc` is running in parallel mode (usually when run from the command line) and the `createNewEntryPointFormats` option is set to true (e.g. via the `--create-ivy-entry-points` command line option), it can happen that two workers end up trying to create the same directory at the same time. This can lead to a race condition, where both check for the directory existence, see that the directory does not exist and both try to create it, with the second failing due the directory's having already been created by the first one. Note that this only affects directories and not files, because `ngcc` tasks operate on different sets of files. This commit avoids this race condition by allowing `FileSystem`'s `ensureDir()` method to not fail if one of the directories it is trying to create already exists (and is indeed a directory). This is fine for the `ensureDir()` method, since it's purpose is to ensure that the specified directory exists. So, even if the `mkdir()` call failed (because the directory exists), `ensureDir()` has still completed its mission. Related discussion: https://github.com/angular/angular/pull/33049#issuecomment-540485703 FW-1635 #resolve PR Close #33237 |
||
---|---|---|
.circleci | ||
.devcontainer | ||
.github | ||
.vscode | ||
aio | ||
docs | ||
integration | ||
modules | ||
packages | ||
scripts | ||
third_party | ||
tools | ||
.bazelignore | ||
.bazelrc | ||
.clang-format | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.mailmap | ||
.nvmrc | ||
BUILD.bazel | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md | ||
WORKSPACE | ||
browser-providers.conf.js | ||
gulpfile.js | ||
karma-js.conf.js | ||
package.json | ||
protractor-perf.conf.js | ||
renovate.json | ||
shims_for_IE.js | ||
test-events.js | ||
test-main.js | ||
tslint.json | ||
yarn.lock | ||
yarn.lock.readme.md |
README.md
Angular
Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages.
Quickstart
Changelog
Learn about the latest improvements.
Want to help?
Want to file a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for contributing and then check out one of our issues in the hotlist: community-help.