[System] Internal connectionpool from referencesource
authorMarek Safar <marek.safar@gmail.com>
Thu, 2 Jun 2016 14:19:15 +0000 (16:19 +0200)
committerMarek Safar <marek.safar@gmail.com>
Thu, 2 Jun 2016 14:19:42 +0000 (16:19 +0200)
mcs/class/System/ReferenceSources/Logging.cs
mcs/class/System/System.Net/ServicePoint.cs
mcs/class/System/System.Threading/Semaphore.cs
mcs/class/System/System.dll.sources
mcs/class/System/mobile_System.dll.sources
mcs/class/referencesource/System/net/System/Net/_Semaphore.cs

index e4af8e1eca2eab2091d85033af6864650a0e6163..b5b773e28c4f186888e9a03b710e7524d4c66c23 100644 (file)
@@ -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) {
                }
index 13c06ec493f499c3f5636c35248940ba13b3a6cc..ef22ed44c2b20935947099b7dcab2425614eaf3b 100644 (file)
@@ -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 ();
+               }
        }
 }
 
index 2324fb9b52d788fa461dc816f5670e715711e8cc..7ed24991865d40d873f9eb43f1b3dfdd51770678 100644 (file)
@@ -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)]
index 0dd0fa335d53f664722f1abe69b4016ca2cf4319..b6f12007fa88a2e0d318d4f9dc08cbcab0d093dc 100644 (file)
@@ -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
index 1503b6c92a39a6f643db30af6f3dee17e0c31984..435360525a3a29d3e3fd9e3e37c10da92fb89220 100644 (file)
@@ -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
index 4d289ac7bc974be051af38c24b23102e412ac5a3..6ad9cbe9f415da661f409592584cf94c08d82230 100644 (file)
@@ -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
         }
 
         /*