internal static void Enter(TraceSource traceSource, object obj, string method, object paramObject) {
}
+ [Conditional ("TRACE")]
+ internal static void Enter(TraceSource traceSource, string msg) {
+ }
+
[Conditional ("TRACE")]
internal static void Exception(TraceSource traceSource, object obj, string method, Exception e) {
}
internal static void Exit(TraceSource traceSource, object obj, string method, object retObject) {
}
+ [Conditional ("TRACE")]
+ internal static void Exit(TraceSource traceSource, string msg) {
+ }
+
[Conditional ("TRACE")]
internal static void PrintInfo(TraceSource traceSource, object obj, string method, string msg) {
}
return true;
}
}
+
+ internal Socket GetConnection(PooledStream PooledStream, object owner, bool async, out IPAddress address, ref Socket abortSocket, ref Socket abortSocket6)
+ {
+ throw new NotImplementedException ();
+ }
}
}
public sealed class Semaphore : WaitHandle {
[MethodImplAttribute(MethodImplOptions.InternalCall)]
- private static extern IntPtr CreateSemaphore_internal (
+ internal static extern IntPtr CreateSemaphore_internal (
int initialCount, int maximumCount, string name,
out bool createdNew);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
- private static extern int ReleaseSemaphore_internal (
+ internal static extern int ReleaseSemaphore_internal (
IntPtr handle, int releaseCount, out bool fail);
[MethodImplAttribute (MethodImplOptions.InternalCall)]
../referencesource/System/net/System/Net/_NetRes.cs
../referencesource/System/net/System/Net/_LazyAsyncResult.cs
../referencesource/System/net/System/Net/_LoggingObject.cs
+../referencesource/System/net/System/Net/_PooledStream.cs
../referencesource/System/net/System/Net/_ProxyChain.cs
../referencesource/System/net/System/Net/_ScatterGatherBuffers.cs
+../referencesource/System/net/System/Net/_Semaphore.cs
../referencesource/System/net/System/Net/_TimerThread.cs
../referencesource/System/net/System/Net/_WebProxyDataBuilder.cs
../referencesource/System/net/System/Net/AuthenticationScheme.cs
../referencesource/System/net/System/Net/cookiecollection.cs
../referencesource/System/net/System/Net/cookiecontainer.cs
../referencesource/System/net/System/Net/cookieexception.cs
+../referencesource/System/net/System/Net/connectionpool.cs
../referencesource/System/net/System/Net/DnsEndPoint.cs
../referencesource/System/net/System/Net/EndPoint.cs
../referencesource/System/net/System/Net/FtpStatusCode.cs
../referencesource/System/net/System/Net/_NetRes.cs
../referencesource/System/net/System/Net/_LazyAsyncResult.cs
../referencesource/System/net/System/Net/_LoggingObject.cs
+../referencesource/System/net/System/Net/_PooledStream.cs
../referencesource/System/net/System/Net/_ProxyChain.cs
../referencesource/System/net/System/Net/_ScatterGatherBuffers.cs
+../referencesource/System/net/System/Net/_Semaphore.cs
../referencesource/System/net/System/Net/_TimerThread.cs
../referencesource/System/net/System/Net/_WebProxyDataBuilder.cs
../referencesource/System/net/System/Net/AuthenticationScheme.cs
../referencesource/System/net/System/Net/cookiecollection.cs
../referencesource/System/net/System/Net/cookiecontainer.cs
../referencesource/System/net/System/Net/cookieexception.cs
+../referencesource/System/net/System/Net/connectionpool.cs
../referencesource/System/net/System/Net/DnsEndPoint.cs
../referencesource/System/net/System/Net/EndPoint.cs
../referencesource/System/net/System/Net/FtpStatusCode.cs
{
internal Semaphore(int initialCount, int maxCount) : base() {
lock (this) {
+#if MONO
+ bool created;
+ Handle = System.Threading.Semaphore.CreateSemaphore_internal(initialCount, maxCount, null, out created);
+#else
//
Handle = UnsafeNclNativeMethods.CreateSemaphore(IntPtr.Zero, initialCount, maxCount, IntPtr.Zero);
+#endif
}
}
*/
internal bool ReleaseSemaphore() {
-#if DEBUG
+#if MONO
+ bool fail;
+ var ret = System.Threading.Semaphore.ReleaseSemaphore_internal (Handle, 1, out fail);
+ return !fail;
+#else
+#if DEBUG
int previousCount;
bool success = UnsafeNclNativeMethods.ReleaseSemaphore(Handle, 1, out previousCount);
GlobalLog.Print("ReleaseSemaphore#"+ValidationHelper.HashString(this)+" success:"+success+" previousCount:"+previousCount.ToString());
return success;
#else
return UnsafeNclNativeMethods.ReleaseSemaphore(Handle, 1, IntPtr.Zero);
-#endif
+#endif
+#endif
}
/*