From: Marek Safar Date: Thu, 2 Jun 2016 14:19:15 +0000 (+0200) Subject: [System] Internal connectionpool from referencesource X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=f965a4e5dbe638c5f951a4b77811bfa9a40dce9b;p=mono.git [System] Internal connectionpool from referencesource --- diff --git a/mcs/class/System/ReferenceSources/Logging.cs b/mcs/class/System/ReferenceSources/Logging.cs index e4af8e1eca2..b5b773e28c4 100644 --- a/mcs/class/System/ReferenceSources/Logging.cs +++ b/mcs/class/System/ReferenceSources/Logging.cs @@ -25,6 +25,10 @@ namespace System.Net { 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) { } @@ -33,6 +37,10 @@ namespace System.Net { 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) { } diff --git a/mcs/class/System/System.Net/ServicePoint.cs b/mcs/class/System/System.Net/ServicePoint.cs index 13c06ec493f..ef22ed44c2b 100644 --- a/mcs/class/System/System.Net/ServicePoint.cs +++ b/mcs/class/System/System.Net/ServicePoint.cs @@ -489,6 +489,11 @@ namespace System.Net return true; } } + + internal Socket GetConnection(PooledStream PooledStream, object owner, bool async, out IPAddress address, ref Socket abortSocket, ref Socket abortSocket6) + { + throw new NotImplementedException (); + } } } diff --git a/mcs/class/System/System.Threading/Semaphore.cs b/mcs/class/System/System.Threading/Semaphore.cs index 2324fb9b52d..7ed24991865 100644 --- a/mcs/class/System/System.Threading/Semaphore.cs +++ b/mcs/class/System/System.Threading/Semaphore.cs @@ -39,12 +39,12 @@ namespace System.Threading { 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)] diff --git a/mcs/class/System/System.dll.sources b/mcs/class/System/System.dll.sources index 0dd0fa335d5..b6f12007fa8 100644 --- a/mcs/class/System/System.dll.sources +++ b/mcs/class/System/System.dll.sources @@ -972,8 +972,10 @@ ReferenceSources/_SslStream.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 @@ -984,6 +986,7 @@ ReferenceSources/_SslStream.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 diff --git a/mcs/class/System/mobile_System.dll.sources b/mcs/class/System/mobile_System.dll.sources index 1503b6c92a3..435360525a3 100644 --- a/mcs/class/System/mobile_System.dll.sources +++ b/mcs/class/System/mobile_System.dll.sources @@ -687,8 +687,10 @@ ReferenceSources/Win32Exception.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 @@ -699,6 +701,7 @@ ReferenceSources/Win32Exception.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 diff --git a/mcs/class/referencesource/System/net/System/Net/_Semaphore.cs b/mcs/class/referencesource/System/net/System/Net/_Semaphore.cs index 4d289ac7bc9..6ad9cbe9f41 100644 --- a/mcs/class/referencesource/System/net/System/Net/_Semaphore.cs +++ b/mcs/class/referencesource/System/net/System/Net/_Semaphore.cs @@ -20,8 +20,13 @@ namespace System.Net { 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 } } @@ -36,14 +41,20 @@ namespace System.Net */ 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 } /*