Atsushi Eno [Fri, 24 Apr 2015 06:08:18 +0000 (15:08 +0900)]
Merge branch 'master' into import-wcf
Atsushi Eno [Fri, 24 Apr 2015 06:07:20 +0000 (15:07 +0900)]
bump referencesource for S.R.Serialization import.
Atsushi Eno [Tue, 21 Apr 2015 06:54:03 +0000 (15:54 +0900)]
[S.R.Serialization] fill message strings.
Atsushi Eno [Tue, 21 Apr 2015 02:23:59 +0000 (11:23 +0900)]
[WCF] disable not working announcement client test.
WS-Discovery never got working, skip cosmetic test to not block porting.
Atsushi Eno [Mon, 20 Apr 2015 15:00:27 +0000 (00:00 +0900)]
Add System.ServiceModel.Internals and SMDiagnostics to the build.
Atsushi Eno [Mon, 20 Apr 2015 13:17:22 +0000 (22:17 +0900)]
[WCF] similar to Binary writer fixes, do not close Text writer.
Just like BinaryMessageFormatter needed to use another CreateBinaryWriter()
overload to NOT close the input stream, use CreateTextWriter() overload that
does not close the stream.
Atsushi Eno [Mon, 20 Apr 2015 12:10:05 +0000 (21:10 +0900)]
[WCF] fix JSON deserialization test that didn't match .NET behavior.
JSON array is deserialized as Array, not List<T>.
Atsushi Eno [Mon, 20 Apr 2015 11:38:39 +0000 (20:38 +0900)]
[WCF] fix syndication extension Add() resolution by appropriate accessibility.
I wonder why, but when switched to referencesource, it turned out that
ResourceCollectionInfo calls SyndicationElementExtensionCollection.Add()
which targets a private overload, but (of course) failed and resolved to
another overload that takes object, and thus resulting in invalid code path.
With this fix the call to Add() resolves to the expected one and does not
regress with referencesource import.
Atsushi Eno [Mon, 20 Apr 2015 08:31:07 +0000 (17:31 +0900)]
[WCF] fixed a couple of DateTime related tests that also failed on .NET IN JST.
Those tests were added without considering TimeZone difference. They cause
several kind of errors (SerializationException etc.) in JST (+09:00) or any
timezone that is earlier than UTC.
We likely had some "working" implementation, but was incompatible with .NET.
Atsushi Eno [Mon, 20 Apr 2015 07:43:57 +0000 (16:43 +0900)]
[WCF] mark JsonReader tests that proves referencesource bugs as [Ignore]d.
.NET WCF JSON serializer has been known to be buggy...
Atsushi Eno [Mon, 20 Apr 2015 07:07:42 +0000 (16:07 +0900)]
[WCF] XmlReader from GetReaderAtBodyContents() should not be missing xmlns-es.
The namespace declarations existed when the entire Message is read but not
in the partial body contents. They caused regressions when we use
serialization stack from referencesource.
It is possible that more namespaces may be requied, but we will be importing
System.ServiceModel later on and then the issue will go away.
So far we don't want regression as long as they show up in our NUnit tests.
Atsushi Eno [Fri, 17 Apr 2015 09:50:22 +0000 (18:50 +0900)]
[WCF] exclude extra schema by referencesource XsdDataContractExporter.
Unlike our own XsdDataContractExporter, referencesource one generates
an extra schema that targets xs:* (XmlSchema.Namespace).
That should not be generated as part of WSDL, so exclude it.
Atsushi Eno [Thu, 16 Apr 2015 18:01:13 +0000 (03:01 +0900)]
[WCF] fix another use of XmlBinaryWriter that closes stream and accesses it later.
Atsushi Eno [Thu, 16 Apr 2015 17:43:24 +0000 (02:43 +0900)]
[WCF] referencesource XmlBinaryWriter closes stream by default, so keep it open.
Otherwise MemoryStream.Position complains that it is already disposed.
Atsushi Eno [Thu, 16 Apr 2015 09:00:19 +0000 (18:00 +0900)]
[S.R.Serialization] for some use cases we don't expect reflection exception.
We do throw TargetInvocationException because we can only use reflection.
So unwrap those exceptions. It is kind of silly though...
Atsushi Eno [Thu, 16 Apr 2015 07:56:17 +0000 (16:56 +0900)]
[S.R.Serialization] change all NotDotNet Json reader tests to [Ignore].
Atsushi Eno [Thu, 16 Apr 2015 07:29:03 +0000 (16:29 +0900)]
[S.R.Serialization] fix Json reader member duplicate check index.
Atsushi Eno [Thu, 16 Apr 2015 06:45:35 +0000 (15:45 +0900)]
[S.R.Serialization] fix condition on simple dictionary output.
Atsushi Eno [Thu, 16 Apr 2015 06:35:01 +0000 (15:35 +0900)]
[S.R.Serialization] add Json reader/writer interpreters.
They don't pass all the tests in System.ServiceModel.Web yet.
Atsushi Eno [Thu, 16 Apr 2015 06:33:34 +0000 (15:33 +0900)]
[S.R.Serialization] remove debugging code.
Atsushi Eno [Wed, 15 Apr 2015 05:59:55 +0000 (14:59 +0900)]
[S.R.Serialization] fix MTOM writer test to match .NET behavior.
WriteStartDocument() can be used with document and document does not accept
more than one element, which basically contradicts MTOM writer usage.
For EOL changes, MTOM writer should not alter content EOL chars.
Atsushi Eno [Wed, 15 Apr 2015 05:42:32 +0000 (14:42 +0900)]
[S.R.Serialization] fix XsdDataContractImporter test to match .NET behavior.
It is likely that the second contract conflicts with the existing one and
WCF renames it to avoid that.
Atsushi Eno [Wed, 15 Apr 2015 05:18:42 +0000 (14:18 +0900)]
[S.R.Serialization] fix wrong test that doesn't match .NET behavior.
There is no BOM output on Windows either.
Atsushi Eno [Tue, 14 Apr 2015 13:00:33 +0000 (22:00 +0900)]
[S.R.Serialization] implement XmlDataContract's interpreter method.
Atsushi Eno [Tue, 14 Apr 2015 11:17:47 +0000 (20:17 +0900)]
[S.R.Serialization] additional type check for collection serialization is also needed.
Atsushi Eno [Tue, 14 Apr 2015 09:34:16 +0000 (18:34 +0900)]
[S.R.Serialization] additional type check for array serialization is needed.
Atsushi Eno [Mon, 13 Apr 2015 20:20:41 +0000 (05:20 +0900)]
[S.R.Serialization] do not update memberType when not expected.
The removed code caused unexpected omission of xsi:type by giving "false"
Type information that is from the actual value (when the expected type is
different, xsi:type should be written).
Atsushi Eno [Mon, 13 Apr 2015 18:20:37 +0000 (03:20 +0900)]
[S.R.Serialization] fix nullable serialization to match referencesource codegen.
The original code is complicated enough that I misinterpreted the logic...
The reulting code should look like this:
DateTime? expr_94 = timeSubmitted;
DateTime dateTime;
bool arg_B5_0;
if (XmlObjectSerializerWriteContext.GetHasValue<DateTime> (expr_94)) {
dateTime = XmlObjectSerializerWriteContext.GetNullableValue<DateTime> (expr_94);
arg_B5_0 = false;
}
else {
dateTime = XmlObjectSerializerWriteContext.GetDefaultValue<DateTime> ();
arg_B5_0 = true;
}
The fixed code should be like this now.
Atsushi Eno [Wed, 8 Apr 2015 08:54:47 +0000 (17:54 +0900)]
[S.R.Serialization] fix deserialization of primitive arrays in reader interpreter.
Basically the primary cause of the problem was that invoked primitive array
reader methods via reflection had 'out' parameter, which needed special care.
Atsushi Eno [Tue, 7 Apr 2015 15:32:03 +0000 (00:32 +0900)]
[S.R.Serialization] fix member indexing on reading deserialized members.
Atsushi Eno [Tue, 7 Apr 2015 15:25:14 +0000 (00:25 +0900)]
[S.R.Serialization] fix array element deserialization.
Array elements were not deserialized correctly and causing null (default)
items put into the array.
Atsushi Eno [Mon, 6 Apr 2015 19:01:24 +0000 (04:01 +0900)]
[S.R.Serialization] fix writer interpreter on enumerating non-dictionary.
Collection serialization was mostly failing, when it was non-dictionary.
Now it should be closer to referencesource dynamic code behavior.
Atsushi Eno [Mon, 6 Apr 2015 18:39:48 +0000 (03:39 +0900)]
[S.R.Serialization] fix reader interpreter: "required" check was broken.
Now it should match referencesource behavior.
Atsushi Eno [Mon, 6 Apr 2015 18:21:37 +0000 (03:21 +0900)]
[S.R.Serialization] Fix TryWritePrimitive() parameter assignment.
It was inconsistent with what referencesource codegen does.
Atsushi Eno [Mon, 6 Apr 2015 16:28:57 +0000 (01:28 +0900)]
[S.R.Serialization] add missing ConvertValue on xml reader interpreter.
Atsushi Eno [Mon, 6 Apr 2015 15:35:55 +0000 (00:35 +0900)]
[S.R.Serialization] fix broken test (exposed by referencesource import work).
Atsushi Eno [Mon, 6 Apr 2015 14:55:51 +0000 (23:55 +0900)]
build System.ServiceModel.Internals everywhere.
Atsushi Eno [Fri, 3 Apr 2015 19:28:47 +0000 (04:28 +0900)]
[S.R.Serialization] implement XmlFormatReaderGenerator interpreter.
Though it's still buggy and shows several nunit test failures yet.
Atsushi Eno [Thu, 2 Apr 2015 19:43:57 +0000 (04:43 +0900)]
[S.R.Serialization] implemented interpreter-based XmlFormatWriterGenerator.
Atsushi Eno [Wed, 1 Apr 2015 09:08:15 +0000 (18:08 +0900)]
[S.R.Serialization] switch to (non-emit) reflection-based implementation stubs.
The new code is to implement reflection (non-emit) based serialization
so that it works on iOS.
Actually I _totally_ switched to this new implementation because dynamic
method based implementation also doesn't work fine, even on desktop
(due to invocation failure on internal methods, it seems that our dynamic
method needs some bugfixes).
The new methods with NotImplementedException in new classes need to be
implemented.
Atsushi Eno [Tue, 31 Mar 2015 08:25:12 +0000 (17:25 +0900)]
Fix mobile build (breakage caused by referencesource switch).
Atsushi Eno [Tue, 31 Mar 2015 07:02:33 +0000 (16:02 +0900)]
[S.R.Serialization] switch to USE_REFEMIT to reduce test failures.
We don't use neither of expression trees nor SRE anyways, but it's easier
to reduce noises in nunit test failures to review the rest.
Atsushi Eno [Tue, 31 Mar 2015 07:01:48 +0000 (16:01 +0900)]
Add system.runtime.serialization config, makes several tests pass.
Atsushi Eno [Mon, 30 Mar 2015 18:22:28 +0000 (03:22 +0900)]
[S.R.Serialization] switch to referencesources.
It builds on net_4_5 and monodroid so far.
We still need to eliminate dynamic code generation to make it work on iOS.
Atsushi Eno [Mon, 30 Mar 2015 18:11:17 +0000 (03:11 +0900)]
[S.Xml] Add [InternalsVisibleTo(S.R.Serialization)].
Alex Rønne Petersen [Fri, 24 Apr 2015 02:13:10 +0000 (04:13 +0200)]
Merge pull request #1735 from akoeplinger/mingw-fix
[io-layer] Fix Windows build on mingw
Alexander Köplinger [Fri, 24 Apr 2015 01:44:07 +0000 (18:44 -0700)]
[io-layer] Fix Windows build on mingw
When we moved to Vista as the minimum build target, the mingw build broke.
The reason is that mingw's mswsock.h has the following code:
#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
int WSAAPI WSAPoll(WSAPOLLFD, ULONG, INT);
#endif
Unfortunately, due to a bug mingw 4.0 doesn't define WSAPOLLFD and the compiler
raises an error. See http://sourceforge.net/p/mingw/bugs/1980 for more details.
As a workaround, inline the typedef for WSAPOLLFD from the mentioned bug report.
Also removed an unecessary check for _WIN32_WINNT < 0x0502 from the file.
Zoltan Varga [Thu, 23 Apr 2015 22:44:29 +0000 (18:44 -0400)]
[jit] Use mini_get_underlying_type () in mini_type_is_vtype () so it works with partial sharing.
Ludovic Henry [Thu, 23 Apr 2015 20:45:28 +0000 (21:45 +0100)]
[threadpool] Remove native call to Socket.(Receive|Send)_internal
This is now done in managed in SocketAsyncWorker.cs since
0c9dcf73c2362974015ffee7b98672510573f014
Ludovic Henry [Thu, 23 Apr 2015 19:47:26 +0000 (20:47 +0100)]
[threadpool-ms] Fix race condition
Zoltan Varga [Thu, 23 Apr 2015 17:25:32 +0000 (13:25 -0400)]
[runtime] Fix the arm build.
Rolf Bjarne Kvinge [Thu, 23 Apr 2015 11:02:46 +0000 (13:02 +0200)]
[System.Data] Bring back PropertyAttributes, StrongTypingException and TypedDataSetGeneratorException to the mobile build.
Rolf Bjarne Kvinge [Thu, 23 Apr 2015 10:19:41 +0000 (12:19 +0200)]
[mono-api-html] Use html5-compatible code for colorizing (i.e. css instead of font/s/u).
Rolf Bjarne Kvinge [Thu, 23 Apr 2015 09:56:50 +0000 (11:56 +0200)]
[mono-api-html] Ignore non-important attribute differences and other improvements.
* Properly colorize removed types (as red).
* Print 'NotSerialized' field attribute change (as not breaking).
* Ignore 'HasSecurity' and 'PInvokeImpl' method attribute differences.
* Render property indexers (and detect name change in property indexer parameters).
* Improve debug spew to print proper method/field attributes.
Zoltan Varga [Thu, 23 Apr 2015 07:05:09 +0000 (03:05 -0400)]
Merge pull request #1731 from mono/fix-abort-arm-thumb
[arm] Fix aborting of threads in managed code
Vlad Brezae [Wed, 22 Apr 2015 23:40:45 +0000 (23:40 +0000)]
[arm] Fix aborting of threads in managed code
When installing the async callback in the context we need to update the thumb bit accordingly.
Radek Doulik [Wed, 22 Apr 2015 20:03:14 +0000 (22:03 +0200)]
[pdb2mdb] fix decimal values reading
apply patch from monodroid
Author: Dean Ellis <dellis1972@googlemail.com>
Date: Thu Apr 17 12:34:00 2014 +0100
[MSBuild] Error MSB3375 when attempting to debug PCL in VS
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=18757
The code to read the decimal values from
the pdb did not work in all circumstances.
This change uses the recommended code for
reading the bits for a decimal from MSDN
see http://msdn.microsoft.com/en-us/library/system.decimal.getbits.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-3
It also includes an ArgumentException
handler just in case it fails.
Alex Rønne Petersen [Wed, 22 Apr 2015 16:54:10 +0000 (18:54 +0200)]
Merge pull request #1728 from akoeplinger/revert-xp
Revert "[msvc] Change target MSVC release from v120 to v120_xp"
Rodrigo Kumpera [Wed, 22 Apr 2015 15:27:15 +0000 (11:27 -0400)]
[threading] Remove dead code that was used only by old suspend.
Alexander Köplinger [Wed, 22 Apr 2015 16:13:45 +0000 (18:13 +0200)]
Fix comment that still referred to Windows XP in configure.ac
Alexander Köplinger [Wed, 22 Apr 2015 16:13:45 +0000 (18:13 +0200)]
Revert "[msvc] Change target MSVC release from v120 to v120_xp"
This reverts commit
577482e3361159e0c4c4b0232a07195ba91335dd.
We dropped XP support (see https://github.com/mono/mono/pull/1723),
so this is no longer necessary.
João Matos [Wed, 22 Apr 2015 14:29:32 +0000 (15:29 +0100)]
Merge pull request #1725 from alexanderkyte/cache_crash
[System.Runtime.Caching] Added missing locking around cache's sortedset.
João Matos [Wed, 22 Apr 2015 14:27:21 +0000 (15:27 +0100)]
Merge pull request #1726 from jaredpar/build-roslyn
Improve Visual Basic build support
Sebastien Pouliot [Wed, 22 Apr 2015 01:42:11 +0000 (21:42 -0400)]
[linker] Mark SecurityDeclarations [#28918]
Security declarations looks very similar to custom attributes - but
they are not (e.g. a different metadata table).
They need to be marked, just like other metadata, by the linker because
they can encode types that won't show up in the type (or assembly)
references.
Ignoring this can create an invalid binary (the kind that even Cecil
can't load back for further processing).
Sebastien Pouliot [Wed, 22 Apr 2015 01:29:56 +0000 (21:29 -0400)]
[linker] Resolve AssemblyName[Reference] when sweeping [#29211]
The exact name (e.g. version) might differ between the original
AssemblyNameReference and the one being used (e.g. PCL).
To make sure we remove unused references we need to resolve
the AssemblyNameReference into AssemblyDefinition and then
continue the sweep based on the _new_ AssemblyNameReference.
Sebastien Pouliot [Wed, 22 Apr 2015 01:26:15 +0000 (21:26 -0400)]
Bump referencesources to restore compatibility with UnmanagedType enum
Zoltan Varga [Tue, 21 Apr 2015 23:07:23 +0000 (19:07 -0400)]
[sdb] Remove more unused code.
Zoltan Varga [Tue, 21 Apr 2015 23:01:51 +0000 (19:01 -0400)]
[sdb] Remove more unused interrupt code.
Zoltan Varga [Tue, 21 Apr 2015 22:54:44 +0000 (18:54 -0400)]
[sdb] Remove unused mono_debugger_agent_thread_interrupt () function.
Zoltan Varga [Tue, 21 Apr 2015 22:50:07 +0000 (18:50 -0400)]
[sdb] Remove an osx workaround which isn't needed with the new suspend code.
Zoltan Varga [Tue, 21 Apr 2015 22:39:53 +0000 (18:39 -0400)]
Fix some warnings.
Rodrigo Kumpera [Tue, 21 Apr 2015 22:03:22 +0000 (17:03 -0500)]
Merge pull request #1723 from madewokherd/winvista
Bump Windows requirement to Vista.
Rodrigo Kumpera [Tue, 21 Apr 2015 21:50:50 +0000 (17:50 -0400)]
[runtime] It's spring cleaning in MonoInternalThread. Remove 8 (yes, eight) unused fields.
Rodrigo Kumpera [Tue, 21 Apr 2015 21:09:37 +0000 (17:09 -0400)]
[threading] Remove old suspend code now that all targets support it.
The new suspend code works on all major targets, so it's time to remove old suspend.
This change removes all relevant native code, managed code could see some cleanup.
jaredpar [Mon, 20 Apr 2015 15:35:07 +0000 (08:35 -0700)]
Improve Visual Basic build support
This fixes a couple of small issues with the Visual Basic build support:
- The VBC task now respects the $(NoStdLib) MSBuild option.
- The field @(ReferencePath) should be used for References in the VBC
target as it is for the CSC target.
- The CreateVisualBasicManifestResourceNames task is compiled and used
in the same manner as CreateCSharpManifestResourceNames hence it should
be loaded via UsingTask in the same manner as well.
- Include the VisualBasic Portable targets files.
Rodrigo Kumpera [Tue, 21 Apr 2015 16:41:01 +0000 (11:41 -0500)]
Merge pull request #1699 from ludovic-henry/threadpool-managed
[threadpool-io] Move (Socket)AsyncResult invocation code to managed + Various improvements
Alexander Köplinger [Tue, 21 Apr 2015 16:35:24 +0000 (18:35 +0200)]
Merge pull request #1721 from jaredpar/fix-attribute-gen
Emit assembly attributes after Import statements
jaredpar [Fri, 17 Apr 2015 22:19:27 +0000 (15:19 -0700)]
Emit assembly attributes after Import statements
The VB language requires that code files have statements in the
following order:
- Option
- Import
- Assembly level attributes
- Namespaces / other declarations
The VBCodeGenerator type when given both import and assembly level
attribute statements was generating the attributes first. This lead to
compilation errors in the generated file.
This change fixes the generator to emit assembly level attributes in
the proper location in the file (and adds the corresponding unit tests
as well).
Chris Hamons [Tue, 21 Apr 2015 14:58:51 +0000 (09:58 -0500)]
Fix Options.cs warning on mobile builds
- Explictly disable warning CS0618 for Options.cs in Mono.Options
Marcos Henrich [Tue, 21 Apr 2015 14:54:08 +0000 (15:54 +0100)]
[System] Replaced System.Process lock(this)
To avoid concurrency problems lock(this) should not be used in public
classes.
Marcos Henrich [Tue, 21 Apr 2015 13:09:20 +0000 (14:09 +0100)]
[System] Process.Exited is now thread safe.
Fixes Exited event triggering multiple times.
Miguel de Icaza [Tue, 21 Apr 2015 02:00:09 +0000 (22:00 -0400)]
Merge pull request #1720 from blucz/master
Fix NullReferenceException in timer thread
Alexander Kyte [Mon, 20 Apr 2015 23:07:14 +0000 (19:07 -0400)]
[System.Runtime.Caching] Added missing locking around cache's sortedset.
Rodrigo Kumpera [Mon, 20 Apr 2015 20:46:13 +0000 (16:46 -0400)]
[threading] Fix coop+windows compilation.
Vincent Povirk [Mon, 20 Apr 2015 20:14:22 +0000 (15:14 -0500)]
Bump Windows version requirement to Vista.
Vincent Povirk [Mon, 20 Apr 2015 20:05:50 +0000 (15:05 -0500)]
Add configure check for inet_pton on Windows.
Rodrigo Kumpera [Mon, 20 Apr 2015 19:57:25 +0000 (15:57 -0400)]
[threading] Just skipping GC is not enough, we need to transition the threadpool to blocking.
Rodrigo Kumpera [Mon, 20 Apr 2015 19:58:02 +0000 (15:58 -0400)]
[threading] Add coop support to sdb.
Miguel de Icaza [Mon, 20 Apr 2015 19:55:26 +0000 (15:55 -0400)]
[Socket] Add DualMode property and adjust to Mono semantics (continuation to #20048)
The new socket constructor that only takes a SocketType and a
ProtocolType defaults to InterNetworkV6 (this was done on a previous patch).
In addition, we explicitly set "DualMode" to true, so that on Windows,
this gets set explicitly (it does not matter on Unix).
We surface the DualMode property to allow servers that want to just
bind to the IPv6 address to do so by creating the socket and then
changing DualMode to false.
This is *not* the same setting that Windows has, but it is the
semantics that Mono applications depend on. So a test has been added
to ensure that we do not regress.
This also switches to use SocketOptionName from the ReferenceSources.
Ludovic Henry [Mon, 20 Apr 2015 13:10:26 +0000 (14:10 +0100)]
[threadpool-io] Fix epoll init
Ludovic Henry [Tue, 14 Apr 2015 21:40:21 +0000 (22:40 +0100)]
[threadpool-io] Move epoll/kqueue/poll specific code to dedicated files
This is to make the addition of backends easier
Ludovic Henry [Tue, 7 Apr 2015 13:47:58 +0000 (14:47 +0100)]
[threadpool-io] Move Mono(Socket)RuntimeWorkItem ExecuteWorkItem code to (Socket)AsyncResult in managed
Marek Safar [Mon, 20 Apr 2015 14:49:59 +0000 (16:49 +0200)]
[corlib] cryptography from reference sources
Marcos Henrich [Mon, 20 Apr 2015 14:04:32 +0000 (15:04 +0100)]
Merge pull request #1691 from esdrubal/exitevent
Improved Process.Exited
Marcos Henrich [Mon, 20 Apr 2015 13:06:22 +0000 (14:06 +0100)]
Merge pull request #1222 from LogosBible/uri-trycreate
Lower-case the host in Uri.TryCreate to match behavior of constructors
Marek Safar [Mon, 20 Apr 2015 11:46:23 +0000 (13:46 +0200)]
[corlib] Fix mobile tests
Ludovic Henry [Tue, 7 Apr 2015 14:42:29 +0000 (15:42 +0100)]
[threadpool-io] Make updates non backend specific
Ludovic Henry [Tue, 7 Apr 2015 19:02:11 +0000 (20:02 +0100)]
[threadpool-io] Do not wait on socket if there are no SocketAsyncResults to call
Zoltan Varga [Sun, 19 Apr 2015 03:47:28 +0000 (23:47 -0400)]
[llvm] Refactor the intrinsics registration code a bit.
Miguel de Icaza [Sun, 19 Apr 2015 02:01:33 +0000 (22:01 -0400)]
[Socket] Fix the socket ctor base call, and document the reason; Fixes #20048