Skip to content
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
doc: added note to fs.watchFile on previousStat
Explains the expected behavior of previousStat in fs.watchFile() when
a watched file disappears and reappears.

Fixes: #15364
  • Loading branch information
niveditn committed Oct 9, 2017
commit 06f2eaeffd65887ec4181a594d1f2a7a98a1f0cf
13 changes: 13 additions & 0 deletions doc/api/fs.md
Original file line number Diff line number Diff line change
Expand Up @@ -626,6 +626,19 @@ Any specified file descriptor has to have been opened for appending.
*Note*: If a file descriptor is specified as the `file`, it will not be closed
automatically.

*Note:* When a file being watched by `fs.watchFile()` disappears and reappears,
then the `previousStat` reported in the second callback event (the file's
reappearance) will be the same as the `previousStat` of the first callback
event (its disappearance).

This happens when:
- the file is deleted, followed by a restore
- the file is renamed twice - the second time back to its original name

In such cases the reappearance callback will not report the `previousStat` of
the file with all zeroes. This is the correct and expected behavior for
`uv_fs_poll_start()`, the libuv function that `fs.watchFile()` uses internally.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why this is documented under Appendfile, as opposed to watchFile?

Copy link
Copy Markdown
Contributor Author

@niveditn niveditn Oct 14, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gireeshpunathil Corrected. Thanks for pointing that out! It would be great if you could please review again.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

great, thanks!

## fs.appendFileSync(file, data[, options])
<!-- YAML
added: v0.6.7
Expand Down