[Mono-bugs] [Bug 62532][Wis] New - [PATCH] Implementation of a kqueue/kevent based FileSystemWatcher

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Thu, 5 Aug 2004 01:10:18 -0400 (EDT)


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by grompf@sublimeintervention.com.

http://bugzilla.ximian.com/show_bug.cgi?id=62532

--- shadow/62532	2004-08-05 01:10:18.000000000 -0400
+++ shadow/62532.tmp.5064	2004-08-05 01:10:18.000000000 -0400
@@ -0,0 +1,35 @@
+Bug#: 62532
+Product: Mono: Class Libraries
+Version: unspecified
+OS: 
+OS Details: OSX 10.3+
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Wishlist
+Component: CORLIB
+AssignedTo: mono-bugs@ximian.com                            
+ReportedBy: grompf@sublimeintervention.com               
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: [PATCH] Implementation of a kqueue/kevent based FileSystemWatcher
+
+The current DefaultWatcher is expensive for file system watching.
+
+Attached to this bug is an implemention of KeventWatcher; a *BSD based kqueue/kevent based 
+watcher.  The bulk of the file checking is still managed due to the fact that keventwatcher needs 
+a FD for each item to watch; and the case of watching a large directory would cause us to run out 
+of fds.  As a result; we monitor the directory at the kernel level and check the changes in 
+managed land.
+
+filewatcher.c in icall land was patched to support a 3rd type; and configure.in was patched to 
+check for kqueue support.
+
+FileSystemWatcher.cs was patched to check if the 3rd type exists and use it if so.
+
+KeventWatcherTest.cs is a testfile that can be run against any watcher; and has shown the same 
+results on MS.NET and the Kevent watcher here for filters/no filters subdirs / no subdirs.
+
+-kangaroo