From: Timothy J Fontaine Date: Tue, 31 Dec 2013 22:48:20 +0000 (-0800) Subject: doc: clarify process on exit safe usage X-Git-Tag: v0.10.25~27 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ffb718b5a36302d98dac1fef683600e621560255;p=platform%2Fupstream%2Fnodejs.git doc: clarify process on exit safe usage --- diff --git a/doc/api/process.markdown b/doc/api/process.markdown index 980254e..b2f43de 100644 --- a/doc/api/process.markdown +++ b/doc/api/process.markdown @@ -8,15 +8,17 @@ It is an instance of [EventEmitter][]. ## Event: 'exit' -Emitted when the process is about to exit. This is a good hook to perform -constant time checks of the module's state (like for unit tests). The main -event loop will no longer be run after the 'exit' callback finishes, so -timers may not be scheduled. The callback takes one argument, the code the -process is exiting with. +Emitted when the process is about to exit. There is no way to prevent the +exiting of the event loop at this point, and once all `exit` listeners have +finished running the process will exit. Therefore you **must** only perform +**synchronous** operations in this handler. This is a good hook to perform +checks on the module's state (like for unit tests). The callback takes one +argument, the code the process is exiting with. Example of listening for `exit`: process.on('exit', function(code) { + // do *NOT* do this setTimeout(function() { console.log('This will not run'); }, 0);