mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 07:07:45 +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
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