0
0
mirror of https://github.com/nodejs/node.git synced 2024-12-01 16:10:02 +01:00
nodejs/lib/internal
Anna Henningsen dab09877b0
module: don't cache uninitialized builtins
Don't cache the exported values of fully uninitialized builtins.
This works by adding an additional `loading` flag that is only
active during initial loading of an internal module and checking
that either the module is fully loaded or is in that state before
using its cached value.

This has the effect that builtins modules which could not be loaded
(e.g. because compilation failed due to missing stack space) can be
loaded at a later point.

Fixes: https://github.com/nodejs/node/issues/6899
PR-URL: https://github.com/nodejs/node/pull/6907
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-05-24 17:03:22 +02:00
..
process
streams
bootstrap_node.js module: don't cache uninitialized builtins 2016-05-24 17:03:22 +02:00
child_process.js
cluster.js
freelist.js
linkedlist.js
module.js
net.js
process.js
readline.js
readme.md
repl.js
socket_list.js
util.js
v8_prof_polyfill.js
v8_prof_processor.js

Internal Modules

The modules in lib/internal are intended for internal use in Node.js core only, and are not accessible with require() from user modules. These are subject to change at any time. Reliance on these modules outside of core is not supported in any way.