path: always look for IN_ATTRIB since deletion is signalled that way
This commit is contained in:
parent
6210e7fc31
commit
782195a3c3
2
TODO
2
TODO
|
@ -80,7 +80,7 @@
|
||||||
|
|
||||||
* automatically determine TERM= based on tty name. (TERM=linux vs. TERM=vt100-nav)
|
* automatically determine TERM= based on tty name. (TERM=linux vs. TERM=vt100-nav)
|
||||||
|
|
||||||
* declare /etc/system-release cross-distro standard
|
* declare /etc/os-release cross-distro standard
|
||||||
|
|
||||||
Pre v12:
|
Pre v12:
|
||||||
|
|
||||||
|
|
|
@ -181,9 +181,9 @@ static void path_unwatch_one(Path *p, PathSpec *s) {
|
||||||
|
|
||||||
static int path_watch_one(Path *p, PathSpec *s) {
|
static int path_watch_one(Path *p, PathSpec *s) {
|
||||||
static const int flags_table[_PATH_TYPE_MAX] = {
|
static const int flags_table[_PATH_TYPE_MAX] = {
|
||||||
[PATH_EXISTS] = IN_DELETE_SELF|IN_MOVE_SELF,
|
[PATH_EXISTS] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB,
|
||||||
[PATH_CHANGED] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB|IN_CLOSE_WRITE|IN_CREATE|IN_DELETE|IN_MOVED_FROM|IN_MOVED_TO,
|
[PATH_CHANGED] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB|IN_CLOSE_WRITE|IN_CREATE|IN_DELETE|IN_MOVED_FROM|IN_MOVED_TO,
|
||||||
[PATH_DIRECTORY_NOT_EMPTY] = IN_DELETE_SELF|IN_MOVE_SELF|IN_CREATE|IN_MOVED_TO
|
[PATH_DIRECTORY_NOT_EMPTY] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB|IN_CREATE|IN_MOVED_TO
|
||||||
};
|
};
|
||||||
|
|
||||||
bool exists = false;
|
bool exists = false;
|
||||||
|
@ -221,9 +221,9 @@ static int path_watch_one(Path *p, PathSpec *s) {
|
||||||
|
|
||||||
*slash = 0;
|
*slash = 0;
|
||||||
|
|
||||||
flags = IN_DELETE_SELF|IN_MOVE_SELF;
|
flags = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB;
|
||||||
if (!exists)
|
if (!exists)
|
||||||
flags |= IN_CREATE | IN_MOVED_TO | IN_ATTRIB;
|
flags |= IN_CREATE | IN_MOVED_TO;
|
||||||
|
|
||||||
if (inotify_add_watch(s->inotify_fd, k, flags) >= 0)
|
if (inotify_add_watch(s->inotify_fd, k, flags) >= 0)
|
||||||
exists = true;
|
exists = true;
|
||||||
|
|
Loading…
Reference in a new issue