Ich versuche inotify_add_watch zu rufen, um eine Datei zu sehen. Ich möchte die Datei relativ zu einem O_PATH | angeben O_DIRECTORY-Dateideskriptor, a la symlinkat, fstatat oder openat.inotify_add_watch relativ zu O_PATH dirfd
Ist das möglich? Es sieht nicht so aus. Wer kennt einen Workaround?
EDIT
Die nächste Sache der "Trick" bei man 2 open unter "Hintergrund für openat" beschrieben zu sein scheint. Ein Beispiel finden Sie in der Antwort von user1643723.
Haben Sie (ab) procfs probiert? Wenn Sie die Funktionalität von XXXat-Syscalls emulieren möchten, ist es immer eine gute Idee, '/ proc/self/fd/
Ich bekomme ENOTDIR, wenn ich pass Pfad wie/proc/self/fd/6/foo zu inotify_add_watch verwenden –
Es gibt eine Art von Fehler in Ihrem Code. Entweder schließen Sie den Verzeichnisdeskriptor zu früh, oder Sie verwenden nicht den richtigen Deskriptor an erster Stelle. Bitte sehen Sie meine Antwort für den Arbeitscode. – user1643723