| ... | @@ -468,10 +468,13 @@ pub fn main() !void { | ... | @@ -468,10 +468,13 @@ pub fn main() !void { |
| 468 | | 468 | |
| 469 | const path = w.dir_table.keys()[i]; | 469 | const path = w.dir_table.keys()[i]; |
| 470 | | 470 | |
| 471 | try std.posix.fanotify_mark(w.fan_fd, .{ | 471 | std.posix.fanotify_mark(w.fan_fd, .{ |
| 472 | .REMOVE = true, | 472 | .REMOVE = true, |
| 473 | .ONLYDIR = true, | 473 | .ONLYDIR = true, |
| 474 | }, Watch.fan_mask, path.root_dir.handle.fd, path.subPathOrDot()); | 474 | }, Watch.fan_mask, path.root_dir.handle.fd, path.subPathOrDot()) catch |err| switch (err) { |
| | 475 | error.FileNotFound => {}, // Expected, harmless. |
| | 476 | else => |e| std.log.warn("unable to unwatch '{}': {s}", .{ path, @errorName(e) }), |
| | 477 | }; |
| 475 | | 478 | |
| 476 | w.dir_table.swapRemoveAt(i); | 479 | w.dir_table.swapRemoveAt(i); |
| 477 | w.handle_table.swapRemoveAt(i); | 480 | w.handle_table.swapRemoveAt(i); |