mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-09-02 15:46:33 +00:00
Kernel: Implement multi-watch InodeWatcher :^)
This patch modifies InodeWatcher to switch to a one watcher, multiple watches architecture. The following changes have been made: - The watch_file syscall is removed, and in its place the create_iwatcher, iwatcher_add_watch and iwatcher_remove_watch calls have been added. - InodeWatcher now holds multiple WatchDescriptions for each file that is being watched. - The InodeWatcher file descriptor can be read from to receive events on all watched files. Co-authored-by: Gunnar Beutner <gunnar@beutner.name>
This commit is contained in:
parent
2de11b0dc8
commit
fe5ca6ca27
Notes:
sideshowbarker
2024-07-18 18:17:10 +09:00
Author: https://github.com/sin-ack
Commit: fe5ca6ca27
Pull-request: https://github.com/SerenityOS/serenity/pull/6993
Reviewed-by: https://github.com/alimpfard
Reviewed-by: https://github.com/awesomekling
Reviewed-by: https://github.com/bgianfo
Reviewed-by: https://github.com/gunnarbeutner
16 changed files with 521 additions and 262 deletions
|
@ -251,7 +251,9 @@ public:
|
|||
KResultOr<int> sys$beep();
|
||||
KResultOr<int> sys$get_process_name(Userspace<char*> buffer, size_t buffer_size);
|
||||
KResultOr<int> sys$set_process_name(Userspace<const char*> user_name, size_t user_name_length);
|
||||
KResultOr<int> sys$watch_file(Userspace<const char*> path, size_t path_length);
|
||||
KResultOr<int> sys$create_inode_watcher(u32 flags);
|
||||
KResultOr<int> sys$inode_watcher_add_watch(Userspace<const Syscall::SC_inode_watcher_add_watch_params*> user_params);
|
||||
KResultOr<int> sys$inode_watcher_remove_watch(int fd, int wd);
|
||||
KResultOr<int> sys$dbgputch(u8);
|
||||
KResultOr<int> sys$dbgputstr(Userspace<const u8*>, int length);
|
||||
KResultOr<int> sys$dump_backtrace();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue