Comments (10)
Hello Baptiste,
Thanks for your report!
I have tried to build incron with the library on NetBSD several days earlier but failed (it haven't found sys/wait.h header or something like this). I will try to build it again today and to see what happens.
Did you run "make test" after building the library? The test results will probably give us more info regarding the issue.
Thanks again,
Dmitry
from libinotify-kqueue.
Baptiste,
Could you please also check IN_CREATE and IN_DELETE notifications on incron (instead of IN_ALL_EVENTS)?. These events should be fired when a file or a subdirectory is created or removed in the watched directory.
Dmitry
from libinotify-kqueue.
On freebsd you can just drop the sys/wait.h maybe you can do the same on netbsd. the only problem you will have imho is cleanenv which you don't have and euiaccess (on freebsd we replace that by eaccess don't know for NetBSD)
BTW: IN_CREATE also fails
from libinotify-kqueue.
Ok, could you please rebuild the library with --enable-perrors configure option and post "make test" output here?
Thanks
from libinotify-kqueue.
Failed to open a file: No such file or directory
.Collision found!: No error: 0
.............xx.........xx.......xx........................xx
In test "Directory notifications":
failed: receive IN_DELETE_SELF on removing a directory
failed: receive IN_IGNORED on removing a directory
In test "Open/close notifications":
failed: receive IN_OPEN on cat
failed: receive IN_CLOSE_NOWRITE on cat
failed: receive IN_OPEN on ls
failed: receive IN_CLOSE_NOWRITE on ls
failed: receive IN_OPEN on modify
failed: receive IN_CLOSE_WRITE on modify
Run: 62
Passed: 54
Failed: 8
from libinotify-kqueue.
Thanks!
So almost all the test cases for the directory notifications do pass on your system. All these failures are expected and known.
Now it would be very interesting to see if the library prints any error messages (now they are enabled) when starting watching on /tmp.
Could you please also try incron with other directories? The library 100% worked on my system when I've monitored changes in the /tmp/foo directory.
Dmitry
from libinotify-kqueue.
moniroting /tmp/foo directory work.
When I start monitoring only /tmp I got the following failures:
Failed to open a file: Operation not supported
Failed to start watching a dependency
: Operation not supported
That should explain why the monitoring doesn't work.
Thanks
from libinotify-kqueue.
Okay, the issue becomes a bit more clear :) It is strange for me that library has failed to open /tmp. Probably it is because /tmp is a mount point for tmpfs or something like this, and I should pass some special flags to open(). Now I have a direction for the further investigation.
Thank you Baptiste very much!
from libinotify-kqueue.
While here, each incrond receive an event there is an error prompted:
kevent failed: Interrupted system call
from libinotify-kqueue.
Thanks, will investigate it too.
from libinotify-kqueue.
Related Issues (18)
- Mistakenly close down fd 0 upon watch failure HOT 4
- Where is the documentation? HOT 2
- Hanging while inotify_add_watch(): race conditions HOT 11
- "make test" sometimes gets killed with SIGPIPE HOT 3
- Doesn't set IN_ISDIR if new directory is created HOT 5
- libinotify open() considerations HOT 5
- Lost deletion events HOT 2
- The deletion events are not provided in time HOT 16
- Propagate changes from #12 to gio-kqueue
- use-after-free in worker_sets_extend/worker_update_flags HOT 2
- wulf7/libinotify-kqueue integration HOT 3
- Crashes reported for 271ef97 HOT 10
- [suggestion] Implement command line interface like 'inotifywait' in linux HOT 4
- Build failure: Missing file barriers.c
- #include <sys/tree.h> is missing on FreeBSD HOT 8
- Test results: FreeBSD-10.2 HOT 6
- Question: Only watch directories HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libinotify-kqueue.