summaryrefslogtreecommitdiff
blob: af9a887befe013d067d2c8aac16ac055b63a7267 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
make sure new hard links get processed like new files by handling
the IN_CREATE flag properly

patch by Mike Frysinger

--- a/src/autoscan_inotify.cc
+++ b/src/autoscan_inotify.cc
@@ -281,7 +284,7 @@
                     }
                 }
                 
-                if (adir != nil && mask & (IN_DELETE | IN_DELETE_SELF | IN_MOVE_SELF | IN_CLOSE_WRITE | IN_MOVED_FROM | IN_MOVED_TO | IN_UNMOUNT))
+                if (adir != nil && mask & (IN_DELETE | IN_DELETE_SELF | IN_MOVE_SELF | IN_CLOSE_WRITE | IN_MOVED_FROM | IN_MOVED_TO | IN_UNMOUNT | IN_CREATE))
                 {
                     String fullPath;
                     if (mask & IN_ISDIR)
@@ -289,7 +292,7 @@
                     else
                         fullPath = path;
                     
-                    if (! (mask & IN_MOVED_TO))
+                    if (! (mask & (IN_MOVED_TO | IN_CREATE)))
                     {
                         log_debug("deleting %s\n", fullPath.c_str());
                         
@@ -312,7 +315,7 @@
                         if (objectID != INVALID_OBJECT_ID)
                             cm->removeObject(objectID);
                     }
-                    if (mask & (IN_CLOSE_WRITE | IN_MOVED_TO))
+                    if (mask & (IN_CLOSE_WRITE | IN_MOVED_TO | IN_CREATE))
                     {
                         log_debug("adding %s\n", path.c_str());
                         // path, recursive, async, hidden, low priority, cancellable