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.
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
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
[MSBuild] Fixed a test that failed when the GAC wasn't available

The test tried to resolve an assembly from the GAC, which doesn't work on a
clean machine without an existing Mono installation.
We now check if the GAC directory is missing and ignore the test in that case.
[Sys.Data] Add unit tests for Novell bug #519648

These unit tests demonstrate the difference to .NET
(https://bugzilla.novell.com/show_bug.cgi?id=519648).
[Sys.Data] Fix Novell Bug #519648

Don't throw an exception when passing "new object[] {null}" to
DataRowCollection.Find. This makes the behaviour more compatible
with .NET. This fixes bug #519648
(https://bugzilla.novell.com/show_bug.cgi?id=519648).
Add unit test for Novell bug #497562
Fix setter of TableLayoutPanel.LayoutSettings throws unwanted exception (Novell bug #497562)
[runtime] Update configure after changes to llvm-config in the newest llvm versions.
[jit] Add a MONO_IS_CROSS_COMPILE define.
[sgen] Fix the merging code.

The right behavior is that the loop move values up to the original size
and them the store after the loop store past it.

Let's see the last 2 iterations:

//i == size - 1 (value = array[size - 2], tmp = array [size - 1])
dyn_array_int_set (array, size, value); //ok
value = tmp; //ok
tmp = dyn_array_int_get (array, i + 1); //tmp has an unknown value, as the last element was never stored to.

//i == size (value = array[size - 1], tmp = array [size])
dyn_array_int_set (array, size, value); //This sets the last element to the right value
value = tmp; //value is undefined, as tmp has
tmp = dyn_array_int_get (array, i + 1); //this is an out-of-bounds read as we're reading 2 elements past the end.

The after the loop store (tmp = array [size + 1]):
dyn_array_int_set (array, size + 1, tmp); //This sets the last element to an unknown value.

With the fix on the last iteration is - 1. The post store will use value, which has
the right value (array [size - 1]).
Fix a race condition in the test suite.
Correct spelling DEFAULT_ACCESS_MODIFER -> DEFAULT_ACCESS_MODIFIER
[thread] Only register a dead letter if the current NSThread is non-null.

This breaks all embedder that don't link with CoreFoundation. In mono's case, monodis.
[boehm] Fix memory management for toggleref.

Replace GC_free with GC_INTERNAL_FREE. The former might take the GC lock
and deadlock us.

Replace GC_INTERNAL_MALLOC with GC_INTERNAL_MALLOC_IGNORE_OFF_PAGE as
we don't need the rest of the GC messing around with the toggleref array.