inotify, faccessat2, fsync for Linux programs, and D-Bus credentials
What installing and starting Epiphany ran into: - inotify: inotify_init/init1, add_watch, rm_watch, as a new kind of event descriptor. The filesystem reports creates, deletes, renames (with a cookie pairing MOVED_FROM and MOVED_TO), writes, close-after-write, truncation and attribute changes, to watches on the inode and on its directory with the name. ONESHOT, MASK_ADD, MASK_CREATE, ONLYDIR, DONT_FOLLOW, IGNORED on removal, Q_OVERFLOW, and Linux's coalescing of repeated events. The hooks cost one load when nothing is watched. Without it GLib found no file monitor and GNOME programs aborted. - FIONREAD on inotify descriptors and pipes (inotifywait sizes its buffer by it). - fsync and fdatasync had no Linux numbers since the first commit: GLib's atomic writes, gtk-update-icon-cache and dbus-uuidgen all got ENOSYS. - faccessat2, the flags-taking faccessat musl uses for any flags. - sendmsg accepts SCM_CREDENTIALS when they are the sender's own, as Linux checks; GDBus sends them in every handshake and was refused with EINVAL. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S1giNvrHTrPMPw7V6x1kQ4
This commit is contained in:
parent
c77841ce3d
commit
3113eff7fe
9 changed files with 590 additions and 9 deletions
|
|
@ -799,6 +799,13 @@ uint64 memfd_size(int id);
|
|||
int memfd_truncate(int id, uint64 len);
|
||||
int memfd_seals(int id, int add);
|
||||
int dsp_writable(void);
|
||||
// inotify (kernel/sys/sys_event.c), and the lookup it needs (sys_fs.c)
|
||||
void inotify_event(uint dev, uint64 inum, uint32 mask, const char *name, uint32 cookie);
|
||||
void inotify_file(struct file *f, uint32 mask);
|
||||
uint32 inotify_cookie(void);
|
||||
int ev_fionread(struct evobj *o);
|
||||
int pipe_avail(struct pipe *p);
|
||||
int path_identity(char *path, int follow, int onlydir, uint *dev, uint64 *inum);
|
||||
int memfd_rw(int id, int user, uint64 buf, uint64 off, int n, int writing);
|
||||
void shm_detach(int id);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue