mirror of
https://github.com/nodejs/node.git
synced 2026-11-09 15:11:11 -05:00
This is a squashed commit of the main work done on the domains-wip branch.
The original commit messages are preserved for posterity:
* Implicitly add EventEmitters to active domain
* Implicitly add timers to active domain
* domain: add members, remove ctor cb
* Don't hijack bound callbacks for Domain error events
* Add dispose method
* Add domain.remove(ee) method
* A test of multiple domains in process at once
* Put the active domain on the process object
* Only intercept error arg if explicitly requested
* Typo
* Don't auto-add new domains to the current domain
While an automatic parent/child relationship is sort of neat,
and leads to some nice error-bubbling characteristics, it also
results in keeping a reference to every EE and timer created,
unless domains are explicitly disposed of.
* Explicitly adding one domain to another is still fine, of course.
* Don't allow circular domain->domain memberships
* Disposing of a domain removes it from its parent
* Domain disposal turns functions into no-ops
* More documentation of domains
* More thorough dispose() semantics
* An example using domains in an HTTP server
* Don't handle errors on a disposed domain
* Need to push, even if the same domain is entered multiple times
* Array.push is too slow for the EE Ctor
* lint domain
* domain: docs
* Also call abort and destroySoon to clean up event emitters
* domain: Wrap destroy methods in a try/catch
* Attach tick callbacks to active domain
* domain: Only implicitly bind timers, not explicitly
* domain: Don't fire timers when disposed.
* domain: Simplify naming so that MakeCallback works on Timers
* Add setInterval and nextTick to domain test
* domain: Make stack private
38 lines
963 B
Markdown
38 lines
963 B
Markdown
* [About these Docs](documentation.html)
|
|
* [Synopsis](synopsis.html)
|
|
* [Globals](globals.html)
|
|
* [STDIO](stdio.html)
|
|
* [Timers](timers.html)
|
|
* [Modules](modules.html)
|
|
* [C/C++ Addons](addons.html)
|
|
* [Process](process.html)
|
|
* [Utilities](util.html)
|
|
* [Events](events.html)
|
|
* [Domain](domain.html)
|
|
* [Buffer](buffer.html)
|
|
* [Stream](stream.html)
|
|
* [Crypto](crypto.html)
|
|
* [TLS/SSL](tls.html)
|
|
* [String Decoder](string_decoder.html)
|
|
* [File System](fs.html)
|
|
* [Path](path.html)
|
|
* [Net](net.html)
|
|
* [UDP/Datagram](dgram.html)
|
|
* [DNS](dns.html)
|
|
* [HTTP](http.html)
|
|
* [HTTPS](https.html)
|
|
* [URL](url.html)
|
|
* [Query Strings](querystring.html)
|
|
* [Readline](readline.html)
|
|
* [REPL](repl.html)
|
|
* [VM](vm.html)
|
|
* [Child Processes](child_process.html)
|
|
* [Assertion Testing](assert.html)
|
|
* [TTY](tty.html)
|
|
* [ZLIB](zlib.html)
|
|
* [OS](os.html)
|
|
* [Debugger](debugger.html)
|
|
* [Cluster](cluster.html)
|
|
* Appendixes
|
|
* [Appendix 1: Recommended Third-party Modules](appendix_1.html)
|