System.Threading/LockRecursionPolicy.cs
System.Threading/ReaderWriterLockSlim.cs
../corlib/System.Threading/AtomicBoolean.cs
+System.Threading/ThreadLockState.cs
+System.Threading/ReaderWriterLockSlimExtensions.cs
Microsoft.Win32.SafeHandles/SafePipeHandle.cs
System.IO.Pipes/AnonymousPipeClientStream.cs
System.IO.Pipes/AnonymousPipeServerStream.cs
namespace System.Threading {
- [Flags]
- internal enum ThreadLockState
- {
- None = 0,
- Read = 1,
- Write = 2,
- Upgradable = 4,
- UpgradedRead = 5,
- UpgradedWrite = 6
- }
-
- internal static class ReaderWriterLockSlimExtensions
- {
- internal static bool Has (this ThreadLockState state, ThreadLockState value)
- {
- return (state & value) > 0;
- }
-
-#if !NET_4_0 && !NET_4_0_BOOTSTRAP
- internal static bool Wait (this ManualResetEvent self, int timeout)
- {
- return self.WaitOne (timeout);
- }
-
- internal static bool IsSet (this ManualResetEvent self)
- {
- return self.WaitOne (0);
- }
-#else
- internal static bool IsSet (this ManualResetEventSlim self)
- {
- return self.IsSet;
- }
-#endif
- }
-
-
[HostProtectionAttribute(SecurityAction.LinkDemand, MayLeakOnAbort = true)]
[HostProtectionAttribute(SecurityAction.LinkDemand, Synchronization = true, ExternalThreading = true)]
public class ReaderWriterLockSlim : IDisposable
--- /dev/null
+//
+// ReaderWriterLockSlimExtensions.cs
+//
+// Author:
+// Jérémie "Garuma" Laval <jeremie.laval@gmail.com>
+//
+// Copyright (c) 2010 Jérémie "Garuma" Laval
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+namespace System.Threading
+{
+ internal static class ReaderWriterLockSlimExtensions
+ {
+ internal static bool Has (this ThreadLockState state, ThreadLockState value)
+ {
+ return (state & value) > 0;
+ }
+
+#if !NET_4_0 && !NET_4_0_BOOTSTRAP
+ internal static bool Wait (this ManualResetEvent self, int timeout)
+ {
+ return self.WaitOne (timeout);
+ }
+
+ internal static bool IsSet (this ManualResetEvent self)
+ {
+ return self.WaitOne (0);
+ }
+#else
+ internal static bool IsSet (this ManualResetEventSlim self)
+ {
+ return self.IsSet;
+ }
+#endif
+ }
+}
\ No newline at end of file
--- /dev/null
+//
+// ThreadLockState.cs
+//
+// Author:
+// Jérémie "Garuma" Laval <jeremie.laval@gmail.com>
+//
+// Copyright (c) 2010 Jérémie "Garuma" Laval
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+namespace System.Threading
+{
+ [Flags]
+ internal enum ThreadLockState
+ {
+ None = 0,
+ Read = 1,
+ Write = 2,
+ Upgradable = 4,
+ UpgradedRead = 5,
+ UpgradedWrite = 6
+ }
+}
\ No newline at end of file
System.Threading/LockRecursionException.cs
System.Threading/LockRecursionPolicy.cs
System.Threading/ReaderWriterLockSlim.cs
+System.Threading/ThreadLockState.cs
+System.Threading/ReaderWriterLockSlimExtensions.cs
System.Linq.Expressions/Extensions.cs
System.Linq.Expressions/ExpressionTransformer.cs