Imported Upstream version 4.8.0.309

Former-commit-id: 5f9c6ae75f295e057a7d2971f3a6df4656fa8850
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2016-11-10 13:04:39 +00:00
parent ee1447783b
commit 94b2861243
4912 changed files with 390737 additions and 49310 deletions

View File

@ -65,7 +65,6 @@ namespace System.Threading {
/* start_notify is used by the runtime to signal that Start()
* is ok to return
*/
private IntPtr start_notify;
private IntPtr stack_ptr;
private UIntPtr static_data; /* GC-tracked */
private IntPtr runtime_thread_info;
@ -90,12 +89,19 @@ namespace System.Threading {
private IntPtr interrupt_on_stop;
private IntPtr flags;
private IntPtr thread_pinning_ref;
private IntPtr abort_protected_block_count;
/*
* These fields are used to avoid having to increment corlib versions
* when a new field is added to the unmanaged MonoThread structure.
*/
private IntPtr unused1;
private IntPtr unused2;
/* This is used only to check that we are in sync between the representation
* of MonoInternalThread in native and InternalThread in managed
*
* DO NOT RENAME! DO NOT ADD FIELDS AFTER! */
private IntPtr last;
#endregion
#pragma warning restore 169, 414, 649
@ -116,15 +122,12 @@ namespace System.Threading {
private InternalThread internal_thread;
object m_ThreadStartArg;
object pending_exception;
int priority = (int) ThreadPriority.Normal;
#endregion
#pragma warning restore 414
IPrincipal principal;
int principal_version;
bool current_culture_set;
bool current_ui_culture_set;
CultureInfo current_culture;
CultureInfo current_ui_culture;
// the name of current_thread is
// important because they are used by the runtime.
@ -132,9 +135,6 @@ namespace System.Threading {
[ThreadStatic]
static Thread current_thread;
static internal CultureInfo default_culture;
static internal CultureInfo default_ui_culture;
// can be both a ThreadStart and a ParameterizedThreadStart
private MulticastDelegate m_Delegate;
@ -339,54 +339,6 @@ namespace System.Threading {
}
}
//[MethodImplAttribute (MethodImplOptions.InternalCall)]
//private static extern int current_lcid ();
public CultureInfo CurrentCulture {
get {
CultureInfo culture = current_culture;
if (current_culture_set && culture != null)
return culture;
if (default_culture != null)
return default_culture;
current_culture = culture = CultureInfo.ConstructCurrentCulture ();
return culture;
}
[SecurityPermission (SecurityAction.Demand, ControlThread=true)]
set {
if (value == null)
throw new ArgumentNullException ("value");
value.CheckNeutral ();
current_culture = value;
current_culture_set = true;
}
}
public CultureInfo CurrentUICulture {
get {
CultureInfo culture = current_ui_culture;
if (current_ui_culture_set && culture != null)
return culture;
if (default_ui_culture != null)
return default_ui_culture;
current_ui_culture = culture = CultureInfo.ConstructCurrentUICulture ();
return culture;
}
set {
if (value == null)
throw new ArgumentNullException ("value");
current_ui_culture = value;
current_ui_culture_set = true;
}
}
public bool IsThreadPoolThread {
get {
return IsThreadPoolThreadInternal;
@ -507,6 +459,12 @@ namespace System.Threading {
{
throw new PlatformNotSupportedException ("Thread.ResetAbort is not supported on the current platform.");
}
internal object AbortReason {
get {
throw new PlatformNotSupportedException ("Thread.ResetAbort is not supported on the current platform.");
}
}
#endif // MONO_FEATURE_THREAD_ABORT
[MethodImplAttribute (MethodImplOptions.InternalCall)]
@ -722,11 +680,6 @@ namespace System.Threading {
return ManagedThreadId;
}
internal CultureInfo GetCurrentUICultureNoAppX ()
{
return CultureInfo.CurrentUICulture;
}
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal static extern void GetStackTraces (out Thread[] threads, out object[] stack_frames);
@ -756,5 +709,10 @@ namespace System.Threading {
throw new PlatformNotSupportedException ("Thread.Resume is not supported on the current platform.");
}
#endif
public void DisableComObjectEagerCleanup ()
{
throw new PlatformNotSupportedException ();
}
}
}