X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fpath.c;h=3e2856920338d1db3216f2ee98b079a4e9a48200;hp=f62157e80184260a4a04f1a73177a7dea8a9cc2f;hb=782195a3c31a79428874a32e0264c0aa97a664f7;hpb=6210e7fc31e14159627144f7409eadd3ce0d72b9 diff --git a/src/path.c b/src/path.c index f62157e80..3e2856920 100644 --- a/src/path.c +++ b/src/path.c @@ -181,9 +181,9 @@ static void path_unwatch_one(Path *p, PathSpec *s) { static int path_watch_one(Path *p, PathSpec *s) { 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_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; @@ -221,9 +221,9 @@ static int path_watch_one(Path *p, PathSpec *s) { *slash = 0; - flags = IN_DELETE_SELF|IN_MOVE_SELF; + flags = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB; 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) exists = true;