Jo Shields a575963da9 Imported Upstream version 3.6.0
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
2014-08-13 10:39:27 +01:00

411 lines
14 KiB
Plaintext

2009-11-16 Gonzalo Paniagua Javier <gonzalo@novell.com>
* DefaultWatcher.cs: patch by James P. Mitchel III.
The change corrects an instance of unsynchronized access to shared
state and is probably the intent of the original code.
2009-09-30 Marek Habersack <mhabersack@novell.com>
* InotifyWatcher.cs: optimized the Renamed event child update loop
in the previous commit for directories in ProcessEvents.
2009-09-30 Gonzalo Paniagua Javier <gonzalo@novell.com>
* InotifyWatcher.cs: fixes bug #322330. Patch by Alexander Kojevnikov.
This patch fixes the issues reported by the OP and in my previous
comment. In particular:
Hunks 1 and 4 remove the new_name_needed flag, it's not used
anywhere and only adds confusion.
Hunk 2 skips DeleteSelf event for sub-directories, they receive the
Delete event anyway.
Hunk 3 makes sure that we use a combination of Deleted+Created
notifications instead of a single Renamed notification, if the watched item
has been moved from one directory to another. This is because RenamedEventArgs
supports only one directory name: FullPath is always directory+name,
OldFullPath is always directory+old_name.
Hunk 5 updates relevant InotifyData instances with the new directory
name. Without this, notifications always use the original folder names.
The last hunk may be a bit slow as it needs to iterate on all the
InotifyData instances. On the other hand, we are already doing it on the
Delete event (lines 560:568) and by default inotify allows only 8192 watches
per user.
2009-07-13 Gonzalo Paniagua Javier <gonzalo@novell.com>
* InotifyWatcher.cs: when a watched subdirectory is deleted, remove it
from the list of children and only raise an event if it matches the
filter.
2009-06-04 Marek Habersack <mhabersack@novell.com>
* InotifyWatcher.cs: filter pattern should be matched on file name
alone, not on the relative path of the file triggering the
event. Fixes bug #509998
2009-03-11 Gonzalo Paniagua Javier <gonzalo@novell.com>
* InotifyWatcher.cs: don't send events when a directory is created
unless it matches the pattern. Fixes bug #484082.
2009-01-26 Marek Habersack <mhabersack@novell.com>
* SearchPattern.cs: make IsMatch work for situations when there is
no wildcard in the pattern, but a subdirectory match is being
tested, e.g. pattern == "file.txt" and text ==
"subdir/file.txt". Lack of support for this has been causing
watching for changes to ASP.NET's web.config in subdirectories to
fail.
2008-11-06 Jonathan Chambers <joncham@gmail.com>
* MonoIO.cs : Add DuplicateHandle.
2008-10-02 Gonzalo Paniagua Javier <gonzalo@novell.com>
* InotifyWatcher.cs: IN_CLOSE_WRITE is triggered when a writable file is
closed, but that does not mean that the file was actually modified.
Fixes bug #323188.
2008-09-08 Rodrigo Kumpera <rkumpera@novell.com>
* InotifyWatcher.cs: Really fix #359181.
2008-09-01 Dick Porter <dick@ximian.com>
* InotifyWatcher.cs: Revert fix for bug 322330, as it is somehow
breaking other stuff.
2008-06-20 Dick Porter <dick@ximian.com>
* InotifyWatcher.cs: If a directory is renamed, make sure the old
version is removed from the requests hash. Fixes bug 322330.
2008-06-18 Rodrigo Kumpera <rkumpera@novell.com>
* InotifyWatcher.cs: patch from Juraj Skripsky to fix
rename events (fixes bug #359181).
2008-04-17 Marek Habersack <mhabersack@novell.com>
* FileSystemWatcher.cs: added support for NullFileWatcher. Fixes
bug #354701
* NullFileWatcher.cs: added an IFileWatcher implementation which
does nothing. Selected only by setting the MONO_MANAGED_WATCHER
environment variable to 'disabled'. Fixes bug #354701
Tue Mar 11 14:29:22 CET 2008 Paolo Molaro <lupus@ximian.com>
* InotifyWatcher.cs: patch from Anders Rune Jensen (anders@iola.dk)
to reduce memory usage (fixes bug #362147).
2007-11-06 Sebastien Pouliot <sebastien@ximian.com>
* InvalidDataException.cs: Added private ctor for serialization. Fix
bug #324569.
2007-10-30 Robert Jordan <robertj@gmx.net>
* MonoSyncFileStream.cs: Add.
2007-07-19 Juraj Skripsky <js@hotfeet.ch>
* FileSystemWatcher.ch (RaiseEvent): Invoke delegate directly, we don't
need the extra control provided by using GetInvocationList().
2006-11-01 Sebastien Pouliot <sebastien@ximian.com>
* ErrorEventHandler.cs: Remove [Serializable] in NET_2_0.
* FileSystemEventHandler.cs: Remove [Serializable] in NET_2_0.
* FileSystemWatcher.cs: Add missing attributes for NET_2_0.
* InvalidDataException.cs: Seal class and remove serialization ctor.
* NotifyFilters.cs: Remove [Serializable] in NET_2_0.
* RenamedEventHandler.cs: Remove [Serializable] in NET_2_0.
* WatcherChangeTypes.cs: Remove [Serializable] in NET_2_0.
2006-10-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* InotifyWatcher.cs: workaround for a weird case. Someone is watching
/dev with recursion enabled and the inotify file descriptor shows up
as a directory that fails to open. Already reported to Robert Love.
2006-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* InotifyWatcher.cs: fix file names for the rename event.
* FileSystemWatcher.cs: ignore exceptions that happen when invoking
event handlers.
2006-08-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* InotifyWatcher.cs: handle CloseWrite, as it might happen without other
modify events.
2006-08-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* FileSystemWatcher.cs: avoid argument null when we don't know yet the
target of a rename.
2006-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* InotifyWatcher.cs: warn about inotify user watches limit.
2005-07-31 Sebastien Pouliot <sebastien@ximian.com>
* FileSystemWatcher.cs: Add an EnvironmentPermission assert to read
environment variable MONO_MANAGED_WATCHER.
2006-07-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* FAMWatcher.cs: remove unused method.
* InotifyWatcher.cs: new watcher supporting inotify directly, as there
are some distros that do not install 'gamin' anymore. This new watcher
takes priority over gamin, fam and default.
* FileSystemWatcher.cs: support for the new watcher.
2006-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* FAMWatcher.cs: fix race condition when a directory is created and
populated before we start monitoring it. Patch by Thong Nguyen.
2006-04-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* FAMWatcher.cs: add new directories to the hashtable after start
monitoring them, otherwise the ReqNum is not set. Fixes bug #77971.
2006-01-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* FAMWatcher.cs: fix arraylist access when a new directory is added and
the new directory is watched too. Closes bug #77068.
2005-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* FAMWatcher.cs:
* FileSystemWatcher.cs: use libgamin-1.so.0 instead of libfam.so.0 when
the runtime finds libgamin. On SUSE libgamin and libfam are not the same
libraries (on debian, they are just the same and there's no fam-server).
2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* FAMWatcher.cs: reverting my patch. Seems that something got
changed in gamin.
2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* FAMWatcher.cs: make this really inactive when there are no events to
process.
2005-05-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* FAMWatcher.cs: move the call to StartMonitoringDirectory out of any
locks. Before, for a high amount of subdirectories (~500) it hanged
after filling the write buffer of FAM socket. Fixes bug #74398.
2005-04-05 Lluis Sanchez Gual <lluis@novell.com>
* FAMWatcher.cs: Fix cast exception when disposing watchers.
2005-03-30 Geoff Norton <gnorton@customerdna.com>
* KeventWatcher.cs: Fix a file handle leak on raised events.
2005-02-10 Lluis Sanchez Gual <lluis@novell.com>
* DefaultWatcher.cs: Fix nullref exception when the object is disposed
without any watcher.
2004-12-03 Geoff Norton <gnorton@customerdna.com>
* SearchPattern.cs: Have IsMatch(string)
call IsMatch(string, bool) to avoid setting a instance variable in a
method that logically should not be changing it.
2004-12-02 Geoff Norton <gnorton@customerdna.com>
* KeventWatcher.cs: Add IDisposable to our kevent struct
so the disposer gets called. Fixes a small memory leak. Dont monitor
LastAccessedTime for changed files, as this will cause AppUnloading in XSP
when global.asax is accessed after creation. Use a case-insensitive IsMatch
to deal with OSX Case-aware/Case-insensitive filesystem.
* SearchPattern.cs: Add a overload to IsMatch to explicitly set
the ignore field for OSX case-aware yet case-insensitive filesystem. This
allows monitoring of global.asax to happen properly.
2004-11-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* DefaultWatcher.cs: make it work when the FileMask does not have
wildcards and we're watching a directory.
2004-11-22 Ben Maurer <bmaurer@ximian.com>
* DefaultWatcher.cs: Copy the hashtable when we scan for changes
so that you can make modifications in a handler. Fixes 65966.
2004-11-19 Geoff Norton <gnorton@customerdna.com>
* KeventWatcher.cs: Dont marshal a string to a struct
that the kernel will hold; this causes a double free bug. Marshal
it as a IntPtr and clean it up in the dispose method. Don't pass
FullName to the pattern matcher, pass the filename. Fixes bug #69692.
2004-10-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* DefaultWatcher.cs: if the file is removed between reading the
directory and filling the file info, catch the exception and ignore the
file. Fixes bug #59482.
2004-10-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* DefaultWatcher.cs: don't use Directory.GetFileSystemEntries when the
pattern has no wildcards. Fixes bug #67447.
2004-09-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* FAMWatcher.cs: s/fam/libfam.so.0/ so that g_module finds it even
when the development package is not installed.
2004-08-06 Geoff Norton <gnorton@customerdna.com>
* FileSystemWatcher.cs: Use the new KeventWatcher if its supported
* KeventWatcher.cs: Added to cvs
2004-06-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* DefaultWatcher.cs: fixed subdirectories notifications and don't
fail when any directory is removed. Closes bug #59840.
2004-05-09 Atsushi Enomoto <atsushi@ximian.com>
* FileSystemWatcher.cs : csc build fix. Duplicate name between class
field and local variable. (already filed in bugzilla #47991).
2004-05-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* DefaultWatcher.cs:
* FAMWatcher.cs: use MangledFilter instead of Filter.
* FileSystemWatcher.cs: added MangledFilter and finalizer.
* SearchPattern.cs: fixed the case when the pattern is "*".
2004-03-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* FAMWatcher.cs: support monitoring subdirectories. FAM doesn't do that,
so we have to register the existing directories and add the new ones
that might be created.
* SearchPattern.cs: provide the pattern when it's wrong.
2004-03-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* SearchPattern.cs: small improvement for files with no wildcard.
2004-01-27 Nick Drochak <ndrochak@ieee.org>
* FAMWatcher.cs:
* FileSystemWatcher.cs: Remove unused variables. Eliminates a couple of
build warnings.
2004-01-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* DefaultWatcher.cs: fixed condition for removal from the watches list.
2004-01-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* DefaultWatcher.cs: check if the FileSystemWatcher is in WaitForChange
and call Monitor.PulseAll in that case.
2004-01-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* DefaultWatcher.cs: implemented.
* FAMWatcher.cs: don't stop the thread when we add a new watch.
* FileSystemWatcher.cs: on windows we use the default watcher by now.
2004-01-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* DefaultWatcher.cs: stub for the default watcher.
* WindowsWatcher.cs: stub for the windows watcher.
* FAMWatcher.cs: FAM watcher.
* FileAction.cs: enum with event types.
* FileSystemEventArgs.cs: added SetName property.
* FileSystemWatcher.cs: added support for the 3 watchers.
* IFileWatcher.cs: interface implemented by the watchers.
* SearchPattern.cs: copied from corlib.
2003-07-17 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
* FileSystemWatcher.cs: Reworked attributes based on the new Consts
scheme
2003-07-13 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
* FileSystemWatcher.cs: Added missing attributes
2003-07-09 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
* IODescriptionAttribute.cs: Removed unneeded field
2003-05-16 Dick Porter <dick@ximian.com>
* MonoIO.cs: Implement GetTempPath
2003-03-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* FileSystemWatcher.cs: added attributes and some more implementation.
Now only the guts left to do.
* FileSystemEventArgs.cs:
* RenamedEventArgs.cs: implemented a couple of properties.
2002-10-31 Dick Porter <dick@ximian.com>
* MonoIO.cs: Return the error status in a parameter, as the
GetLastError() value has long since been blown away if we try and
look it up in a subsequent internal call invocation.
2002-09-15 Duncan Mak <duncan@ximian.com>
* FileSystemWatcher.cs (FileSystemWatcher): Fixed the null-param
constructor.
2002-08-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* FileSystemWatcher.cs: IDisposable fixes.
2002-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* InternalBufferOverflowException.cs:
* NotifyFilters.cs:
* WatcherChangeTypes.cs: little fixes based on class status page.
2002-08-15 Tim Coleman <tim@timcoleman.com>
* ErrorEventArgs.cs:
* ErrorEventHandler.cs:
* FileSystemEventArgs.cs:
* FileSystemEventHandler.cs:
* FileSystemWatcher.cs:
* InternalBufferOverflowException.cs:
* IODescriptionAttribute.cs:
* NotifyFilters.cs:
* RenamedEventArgs.cs:
* RenamedEventHandler.cs:
* WaitForChangedResult.cs:
* WatcherChangeTypes.cs:
New stubs added.
2002-07-20 Dick Porter <dick@ximian.com>
* MonoIO.cs: Cut down copy of corlib/System.IO/MonoIO.cs, so it
can be used from the System assembly but still not be exposed to
users.