Comments (16)
Can this be related to #11?
from libinotify-kqueue.
Probably, I'm now working on this.
from libinotify-kqueue.
Please tell if we can help with testing. We will have time for that in Monday.
from libinotify-kqueue.
Ok, thanks!
from libinotify-kqueue.
Still observing some issues.
from libinotify-kqueue.
Yepp. Looks like there is a misuse of EV_ONESHOT
, with this flag NOT set, the changes in directory are being detected correctly, but other issues appear. Will investigate/fix it later.
from libinotify-kqueue.
Yep, it is really there. Will rework the event processing routines soon.
from libinotify-kqueue.
No need to rework. It has been done already by myself about a year ago. Now I settled resulting code on my GH page. Take a look on it
On topic: Using EV_ONESHOT instead of EV_CLEAR led this project to make 2 bad things:
- create brain-damaged structure called worker-sets.
- Lose events firing while other event is being processed by library. Most often lose NOTE_WRITE on a watched directory
from libinotify-kqueue.
Wow, cool. Why you did not send any comments/pull requests for that?
from libinotify-kqueue.
As many other GSOC projects this one looks like "wrote and forgot" one that time. And my code was not in good shape to be published. But since I had to resolve conflicts on update of port system in devel/libinotify directory I decided to blow the dust off my old work and spend some time to make it ready for publishing
from libinotify-kqueue.
This project LOOKED like "wrote and forgot" not LOOKS. My bad. Sorry
from libinotify-kqueue.
Actually, I was in army in 2012-2013, so really there were no commits. Though the people who were really interested in the project contacted me by e-mail and I'd collected some feedback. I have planned to do benchmarking and refactoring work, but now I have time only for bugfixing (still, it takes weeks to get a single issue resolved). The ONESHOT<-->CLEAR
is a really idiotic one, I agree.
I've took a brief look on the list of your changes (just commit messages, no code review), and it looks pretty interesting. It seems you've implemented the things I've been thinking about from time to time.
I am fine with integrating your changes into the main branch, if it does not break the portability. What is about making a series of pull-requests so I could review the actual changes sequentially? I see that your code is rebased with my recent changes, so there should not be many problems.
from libinotify-kqueue.
Ok. I'll try to rearrange my commits to be a logical independent series of changes. But it's a long term task due to one reason: There were transition from monolithic array called worker-sets with its 1:1:1 relation between kqueue changes, kqueue (sub)watches and (sub)files to a linked list of inotify watches with its m:n indirect (via inode number) relation between watches and files. So moving a source code through this (fuzzy) fence leads to its (code) rewrite :-(
from libinotify-kqueue.
I hope to publish first part of changes within a week
from libinotify-kqueue.
Closing as no longer applicable as @wulf7 stole the show. :)
from libinotify-kqueue.
For the curious minds: https://github.com/libinotify-kqueue/libinotify-kqueue
from libinotify-kqueue.
Related Issues (18)
- libinotify open() considerations HOT 5
- Lost deletion events HOT 2
- 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
- incrond fails at monitoring directories HOT 10
- #include <sys/tree.h> is missing on FreeBSD HOT 8
- Test results: FreeBSD-10.2 HOT 6
- Question: Only watch directories HOT 6
- 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
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.