Use getpid instead of GetCurrentProcessId as the latter calls into io-layer which is not initialzed at this point.
Take shared file lock before collecting file share_info.
Bug 15574. XML deserialization recursion: add array type to known_types?

One way to prevent https://bugzilla.xamarin.com/show_bug.cgi?id=15574 is to add the problematic array type to the `known_types`.

On the other hand, this might not be the intended use of `known_types`. In that case, perhaps a better fix would be to guard against recursion in the `foreach` loop:

	if (t != type)
		RegisterTypeAsKnown (t);
Bug 15572. Lookup KnownTypeCollection element types in MSSimpleNamespace

This patch prevents the problem in https://bugzilla.xamarin.com/show_bug.cgi?id=15572. This change allows the DataContractSerializer to deserialize DataMembers that use an array KnownType, at least for the test case in the bug report.
SqlBulkCopy Implementation

This are the code changes to get the SqlBulkCopy procedure working on
mono.
Support for DispIdAttribute in GetIdsOfNames

License: This patch is under the MIT/X11 license.
Convert blocking operations in HttpWebRequest and SslClientStream to non-blocking operations. This fixes #15451.

More details:
  * HttpWebRequest now writes the HTTP request headers asynchronously. This will avoid blocking a thread pool thread until the headers are written.
  * SslClientStream was doing the TLS negotiations in a blocking manner. Converted the negotiation method to an async state machine where all operations are done asynchronously.
  * The test case identified in #15451 now completes quickly with less than 15 threads created, vs. 100s of threads used before this fix.

Future work if needed:
  * I did not convert SslServerStream but the same pattern could be used here.
  * SendAlert is still blocking. I thought it was not worth converting it to non-blocking.
Fixes Xamarin Bug 16742:  XmlConvert.ToDateTime(string, XmlDateTimeSerializationMode) throws index out of bounds exception

Fix for bug + added tests for method
XmlConvert.ToDateTime(string, XmlDateTimeSerializationMode)
Additional tests for Xamarin Bug 16742 + style enhancements
Cleaned up the using statements in DateTime tests
Support for video/mp4, video/ogg, video/webm

Added support for the three leading HTML5 Video mime types
.mp4 video/mp4
.ogv video/ogg
.webm video/webm

When Internet Explorer 10 or 11 receives application/octet-stream as the mime type for HTML5 video, it will not play the video. This resolves the issue in an Apache/mod_mono environment.
Support for audio/ogg and audio/mp4

.ogg, .oga audio/ogg
.mp4a, .aac audio/mp4
http://tools.ietf.org/html/rfc4337
Updated various mime types, sources in description

http://blogs.msdn.com/b/vsofficedeveloper/archive/2008/05/08/office-2007-open-xml-mime-types.aspx

http://support.microsoft.com/?id=936496

http://www.rfc-editor.org/rfc/rfc4329.txt

Also added svg image/svg+xml
If HTTP charset header is empty, do not append content encoding to Content-Type header
Some corrections and additions

Changed "aac" to "audio/aac"
http://en.wikipedia.org/wiki/Advanced_Audio_Coding

Added "m4a" for "audio/mp4" and "m4v" for "video/mp4"
Commented out "mp4a" since the official extension is "m4a"
http://tools.ietf.org/rfc/rfc4337.txt
http://en.wikipedia.org/wiki/MPEG-4_Part_14

Added "3pg" for "video/3gpp"
http://tools.ietf.org/html/rfc3839#section-3.2

Added "3g2" for "video/3gpp2"
http://tools.ietf.org/html/rfc4393#section-3.2

Added "ogx" for "application/ogg"
http://tools.ietf.org/html/rfc5334#section-10.1
Added application/json and application/xhtml+xml

application/json:
http://www.ietf.org/rfc/rfc4627.txt
This could improve support for libraries like jQuery that request raw .json files

application/xhtml+xml:
http://www.rfc-editor.org/rfc/rfc3236.txt
Added additional common internet media types

Many of the changes come from: http://en.wikipedia.org/wiki/Internet_media_type#List_of_common_media_types

dtd as application/xml-dtd
http://tools.ietf.org/html/rfc3023#section-3.5

vcf and vcard as text/vcard				http://tools.ietf.org/html/rfc6350#section-10.1

dart as application/dart
https://www.dartlang.org/articles/embedding-in-html/

xps as application/vnd.ms-xpsdocument
oxps as application/oxps
http://www.ecma-international.org/publications/standards/Ecma-388.htm

flac as audio/x-flac
http://en.wikipedia.org/wiki/FLAC

spx as audio/ogg
http://tools.ietf.org/html/rfc5334#section-10.3

opus as audio/ogg
http://tools.ietf.org/html/draft-terriberry-oggopus-01

X3D Mime Types:
http://www.web3d.org/x3d/learn/mimetypes/
http://www.iana.org/assignments/media-types/model/x3d-vrml

appcache for text/cache-manifest
http://en.wikipedia.org/wiki/Cache_manifest_in_HTML5
Fix 'make dist' broken since 35287878

In commit 35287878b9785efeaeb854afb6ee4509f5714d65:

    [xbuild] Reorganize xbuild targets/frameworks/bin data

Several files were shuffled around, but the EXTRA_DISTFILES was
not fully updated with the new file paths.

This patch is required to build a 3.2.7 tarball.
Include xbuild_4_0_dirs in dist; fixes 425fdc03

In commit 425fdc03fa38b2ee29c1cf88617ddb1580fde78f:

  [xbuild] Build & install MSBuild 12.0 assemblies

The net_3_5_only_dirs containing the Build classes were moved to
various xbuild_X_dirs variables, but an undefined $(xbuild_dirs)
variable was appended to DIST_ONLY_SUBDIRS.

This patch adds $(xbuild_4_0_dirs) instead.
Fix build (and cosmetic code formatting).