Imported Upstream version 6.4.0.137

Former-commit-id: 943baa9f16a098c33e129777827f3a9d20da00d6
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2019-07-26 19:53:28 +00:00
parent e9207cf623
commit ef583813eb
2712 changed files with 74169 additions and 40587 deletions

View File

@@ -128,8 +128,10 @@ namespace System.IO {
lock (watches) {
data = (DefaultWatcherData) watches [fsw];
if (data != null) {
data.Enabled = false;
data.DisabledTime = DateTime.UtcNow;
lock (data.FilesLock) {
data.Enabled = false;
data.DisabledTime = DateTime.UtcNow;
}
}
}
}
@@ -221,7 +223,8 @@ namespace System.IO {
}
lock (data.FilesLock) {
IterateAndModifyFilesData (data, directory, dispatch, files);
if (data.Enabled)
IterateAndModifyFilesData (data, directory, dispatch, files);
}
}

View File

@@ -0,0 +1,16 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
#if !MOBILE
namespace System.IO.CoreFX
#else
namespace System.IO
#endif
{
// Add DefaultEventAdttribute for NS2.1 support
[System.ComponentModel.DefaultEventAttribute("Changed")]
public partial class FileSystemWatcher
{
}
}

View File

@@ -420,6 +420,8 @@ namespace System.IO {
}
private void RaiseEvent (Delegate ev, EventArgs arg, EventType evtype)
{
if (disposed)
return;
if (ev == null)
return;
@@ -497,11 +499,15 @@ namespace System.IO {
internal void DispatchErrorEvents (ErrorEventArgs args)
{
if (disposed)
return;
OnError (args);
}
internal void DispatchEvents (FileAction act, string filename, ref RenamedEventArgs renamed)
{
if (disposed)
return;
if (waiting) {
lastData = new WaitForChangedResult ();
}