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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
|
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.
|