howeyc/fsnotify

Unable to detect multiple files in directory.

jessej3000 opened this issue · 4 comments

Hi,

What I encounter is, the watcher can detect event in a directory when files are copied, written, deleted, or edited one by one in the folder. But when when I tried to paste multiple files all together in one command into the folder. The watcher is most likely to only detect one file and ignore the rest of the other files that was copied to the folder.

Any solution to this issue? Will greatly appreciate your help.

Thanks.

@jessej3000 Thanks for the report. Can you try updating your import path to use the latest version of fsnotify from https://github.com/fsnotify/fsnotify?

If you still are seeing this issue, can you please provide more information, such as which operating system this is occurring on.

Thank you Nathan, will do the update and will let you know of the status. BTW I used Mac book Pro:

MacBook Pro (Retina, 15-inch, Mid 2015)
macOS Sierra V10.12
Processor: 2.8 GHz Intel Core i7
Memory: 16 GB 1600 MHz DDR3

fsnotify currently uses kqueue on macOS.

Watching a directory in kqueue sends a single event when "something" happens in the directory as a whole. fsnotify also adds watches to all the existing files in the directory to see if they change. If the directory notification is triggered, fsnotify has some logic to try to figure out what happened. That logic may not be working quite right the the scenario you describe.

Are you saying that that logic "logic to try to figure out what happened" is buggy for now?

How do I get a control of that logic? What particular event, function or method should I reference?

Just to describe the detail of what I am trying to do is, please see below:

  1. Folder A contains File1.txt, File2.txt, File3.txt, File4.txt
  2. Folder B empty
  3. Nsnotify Watcher is set to watch folder B.
  4. Copied all files from Folder A and paste them all together into Folder B
  5. I wanted to detect the event of the creation of each file into Folder B but Fsnotify is only able to detect File1.txt