summaryrefslogtreecommitdiff
path: root/doc/api/fs.md
diff options
context:
space:
mode:
authorJoyee Cheung <joyeec9h3@gmail.com>2018-05-27 06:07:29 +0800
committerJoyee Cheung <joyeec9h3@gmail.com>2018-06-03 17:15:17 +0200
commitcd8f06f64f5fba32cf851de4d59c0e22f45b89c7 (patch)
treeb466ffa46727c2bf26e212b57bb6e470c88f82ce /doc/api/fs.md
parent997e97d9cd8c687284feb32e364ef434086d38d5 (diff)
downloadandroid-node-v8-cd8f06f64f5fba32cf851de4d59c0e22f45b89c7.tar.gz
android-node-v8-cd8f06f64f5fba32cf851de4d59c0e22f45b89c7.tar.bz2
android-node-v8-cd8f06f64f5fba32cf851de4d59c0e22f45b89c7.zip
fs: do not crash when using a closed fs event watcher
Before this commit, when the user calls methods on a closed or errored fs event watcher, they could hit a crash since the FSEventWrap in C++ land may have already been destroyed with the internal pointer set to nullptr. This commit makes sure that the user cannot hit crashes like that, instead the methods calling on a closed watcher will be noops. Also explicitly documents that the watchers should not be used in `close` and `error` event handlers. PR-URL: https://github.com/nodejs/node/pull/20985 Fixes: https://github.com/nodejs/node/issues/20738 Fixes: https://github.com/nodejs/node/issues/20297 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Ron Korving <ron@ronkorving.nl> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Diffstat (limited to 'doc/api/fs.md')
-rw-r--r--doc/api/fs.md6
1 files changed, 4 insertions, 2 deletions
diff --git a/doc/api/fs.md b/doc/api/fs.md
index b309a1d7e6..5c4dc4901a 100644
--- a/doc/api/fs.md
+++ b/doc/api/fs.md
@@ -325,7 +325,8 @@ fs.watch('./tmp', { encoding: 'buffer' }, (eventType, filename) => {
added: v10.0.0
-->
-Emitted when the watcher stops watching for changes.
+Emitted when the watcher stops watching for changes. The closed
+`fs.FSWatcher` object is no longer usable in the event handler.
### Event: 'error'
<!-- YAML
@@ -334,7 +335,8 @@ added: v0.5.8
* `error` {Error}
-Emitted when an error occurs while watching the file.
+Emitted when an error occurs while watching the file. The errored
+`fs.FSWatcher` object is no longer usable in the event handler.
### watcher.close()
<!-- YAML