Add CyclicDeque and doc
[mono.git] / mcs / class / Mono.Parallel / Documentation / en / Mono.Threading / ReaderWriterLockSlimmer.xml
index 1d226e530e82e3666001d6ef258fb759a2a1273c..46ca0278ed04fa32fe7c458f81d34af50f87b6db 100644 (file)
@@ -15,8 +15,8 @@
   </Docs>
   <Members>
     <Member MemberName="EnterReadLock">
-      <MemberSignature Language="C#" Value="public void EnterReadLock ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void EnterReadLock() cil managed" />
+      <MemberSignature Language="C#" Value="public void EnterReadLock (ref bool taken);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void EnterReadLock(bool taken) cil managed" />
       <MemberType>Method</MemberType>
       <AssemblyInfo>
         <AssemblyVersion>4.0.0.0</AssemblyVersion>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
-      <Parameters />
+      <Parameters>
+        <Parameter Name="taken" Type="System.Boolean&amp;" RefType="ref" />
+      </Parameters>
       <Docs>
+        <param name="taken">
+          <para>
+Must be set to false prior calling this method.
+</para>
+          <para>
+If value is <see langword="true" /> lock has been taken. This value is safe to trust even under exceptional situations.
+</para>
+        </param>
         <summary>Attempts to get the lock in Read mode and loops if it's not yet available.</summary>
-        <remarks />
+        <remarks>To be added.</remarks>
       </Docs>
     </Member>
     <Member MemberName="EnterWriteLock">
-      <MemberSignature Language="C#" Value="public void EnterWriteLock ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void EnterWriteLock() cil managed" />
+      <MemberSignature Language="C#" Value="public void EnterWriteLock (ref bool taken);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void EnterWriteLock(bool taken) cil managed" />
       <MemberType>Method</MemberType>
       <AssemblyInfo>
         <AssemblyVersion>4.0.0.0</AssemblyVersion>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
-      <Parameters />
+      <Parameters>
+        <Parameter Name="taken" Type="System.Boolean&amp;" RefType="ref" />
+      </Parameters>
       <Docs>
+        <param name="taken">
+          <para>
+Must be set to false prior calling this method.
+</para>
+          <para>
+If value is <see langword="true" /> lock has been taken. This value is safe to trust even under exceptional situations.
+</para>
+        </param>
         <summary>Attempts to get the lock in Write mode and loops if it's not yet available.</summary>
         <remarks>To be added.</remarks>
       </Docs>
@@ -59,7 +79,7 @@
       <Parameters />
       <Docs>
         <summary>Remove a reader from the lock.</summary>
-        <remarks>A call to <see cref="M:Mono.Threading.ReaderWriterLockSlimmer.EnterReadLock()" /> must be matched by this method to release it no matter the thread that call it.</remarks>
+        <remarks>A call to <see cref="M:Mono.Threading.ReaderWriterLockSlimmer.EnterReadLock()" /> or <see cref="M:Mono.Threading.ReaderWriterLockSlimmer.TryEnterReadLock()" /> must be matched by this method to release it no matter the thread that call it.</remarks>
       </Docs>
     </Member>
     <Member MemberName="ExitWriteLock">
       <Parameters />
       <Docs>
         <summary>Remove writer from the lock.</summary>
-        <remarks>A call to <see cref="M:Mono.Threading.ReaderWriterLockSlimmer.EnterWriteLock()" /> must be matched by this method to release it no matter the thread that call it.</remarks>
+        <remarks>A call to <see cref="M:Mono.Threading.ReaderWriterLockSlimmer.EnterWriteLock()" /> or <see cref="M:Mono.Threading.ReaderWriterLockSlimmer.TryEnterWriteLock()" /> must be matched by this method to release it no matter the thread that call it.</remarks>
+      </Docs>
+    </Member>
+    <Member MemberName="TryEnterReadLock">
+      <MemberSignature Language="C#" Value="public void TryEnterReadLock (ref bool taken);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void TryEnterReadLock(bool taken) cil managed" />
+      <MemberType>Method</MemberType>
+      <AssemblyInfo>
+        <AssemblyVersion>4.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="taken" Type="System.Boolean&amp;" RefType="ref" />
+      </Parameters>
+      <Docs>
+        <param name="taken">
+          <para>
+Must be set to false prior calling this method.
+</para>
+          <para>
+If value is <see langword="true" /> lock has been taken. This value is safe to trust even under exceptional situations.
+</para>
+        </param>
+        <summary>Non-blocking equivalent of <see cref="m:Mono.Threading.EnterReadLock(System.Boolean@)" />.</summary>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
+    <Member MemberName="TryEnterWriteLock">
+      <MemberSignature Language="C#" Value="public void TryEnterWriteLock (ref bool taken);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void TryEnterWriteLock(bool taken) cil managed" />
+      <MemberType>Method</MemberType>
+      <AssemblyInfo>
+        <AssemblyVersion>4.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="taken" Type="System.Boolean&amp;" RefType="ref" />
+      </Parameters>
+      <Docs>
+        <param name="taken">
+          <para>
+Must be set to false prior calling this method.
+</para>
+          <para>
+If value is <see langword="true" /> lock has been taken. This value is safe to trust even under exceptional situations.
+</para>
+        </param>
+        <summary>Non-blocking equivalent of <see cref="m:Mono.Threading.EnterWriteLock(System.Boolean@)" />.</summary>
+        <remarks>To be added.</remarks>
       </Docs>
     </Member>
   </Members>