Commit 779c809a authored by Ryan Lortie's avatar Ryan Lortie

inotify: rewrite inotify-kernel

Remove the hardwired 1 second event queue logic from inotify-kernel and
replace it with something vastly less complicated.

Events are now reported as soon as is possible instead of after a
delay.

We still must delay IN_MOVED_FROM events in order to look for the
matching IN_MOVED_TO events, and since we want to report events in order
this means that events behind those events can also be delayed.  We
limit ourselves, however:

 - no more than 100 events can be delayed at a time

 - no event can be delayed by more than 10ms

https://bugzilla.gnome.org/show_bug.cgi?id=627285
parent fd8b45eb
This diff is collapsed.
......@@ -37,6 +37,7 @@ typedef struct ik_event_s {
* then event1->pair == event2 and event2->pair == NULL.
* It will result also in event1->pair->is_second_in_pair == TRUE */
struct ik_event_s *pair;
gint64 timestamp; /* monotonic time that this was created */
} ik_event_t;
gboolean _ik_startup (void (*cb) (ik_event_t *event));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment