added NET_2_0 strongly typed overrides
[mono.git] / mcs / class / corlib / System.Threading / ChangeLog
index 3770d77a31eabd94c54ca59b6eb911672593522f..1efcae918555155afde034e66b1c5c6ecf52ec59 100644 (file)
@@ -1,3 +1,295 @@
+2006-07-04  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * WaitHandle.cs : CheckArray() is also used in WaitAny(), so added
+         extra argument to skip STAThread check.
+
+2006-06-30  Duncan Mak  <duncan@novell.com>
+
+       * WaitHandle.cs (CheckArray): Avoid using reflection unless we
+       really need to.
+
+2006-06-29  Duncan Mak  <duncan@novell.com>
+
+       * WaitHandle.cs (CheckArray): Throw NotSupportedException if the
+       current thread is marked with the STAThreadAttribute. Fixes bug
+       #78455.
+
+2006-05-05  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * ExecutionContext.cs: Don't capture the compressed stack unless the 
+       security manager is active (this wasn't ready to be called in 
+       production code).
+
+2004-04-29  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * Timer.cs : avoid NullReferenceException when it is already disposed.
+         Patch by pawel.sakowski@mind-breeze.com. Fixed bug #78208.
+
+2004-04-28  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SynchronizationContext.cs : use ThreadPool in Post(), as suggested
+         by cl (bug #78139).
+
+2004-04-04  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * Thread.cs : base class is CriticalFinalizerObject.
+       * ThreadStartException.cs : no public constructors.
+
+Wed Mar 29 18:29:55 CEST 2006 Paolo Molaro <lupus@ximian.com>
+
+       * Thread.cs: update for the runtime changes to culture caching.
+
+Wed Mar 15 16:35:49 CET 2006 Paolo Molaro <lupus@ximian.com>
+
+       * Thread.cs: updates for LocalDataStoreSlot: we use an array as
+       storage for the slots now so that LocalDataStoreSlot objects an be
+       garbage collected if the user doesn't keep a reference to them.
+
+2006-02-09  Miguel de Icaza  <miguel@novell.com>
+
+       * Monitor.cs: Patch from Thong Nguyen, Wait (.., Timeout) method
+       should allow a -1 (Timeout.Infinite) to mean indefinite wait (the
+       code already supported this.
+
+       Removed also a LAMESPEC for missing argument checking in Wait with
+       the int argument.
+       
+       Fixed the use of exceptions.
+
+2005-12-23  Dick Porter  <dick@ximian.com>
+
+       * EventWaitHandle.cs: 
+       * Mutex.cs: Implement OpenExisting
+
+       * NativeEventCalls.cs: Add OpenEvent icall for OpenExisting in
+       2.0.  Add a "created" boolean out parameter to CreateEvent icall.
+
+       * ManualResetEvent.cs: 
+       * AutoResetEvent.cs: Update CreateEvent icall signature (now has
+       "created" boolean out parameter.)
+
+2005-12-17  Dick Porter  <dick@ximian.com>
+
+       * ThreadStartException.cs: 
+       * EventWaitHandle.cs: 
+       * EventResetMode.cs: 
+       * AbandonedMutexException.cs: New for 2.0 profile
+
+       * ThreadState.cs: 
+       * Interlocked.cs: 
+       * RegisteredWaitHandle.cs: 
+       * Monitor.cs: 
+       * ThreadPriority.cs: 
+       * Mutex.cs: 
+       * ManualResetEvent.cs: 
+       * AutoResetEvent.cs: Updated for 2.0 profile
+
+2005-11-23  Zoltan Varga  <vargaz@gmail.com>
+
+       * Interlocked.cs: Add T:class constraint to the generic 
+       CompareExchange and Exchange methods.
+
+2005-11-17  Zoltan Varga  <vargaz@gmail.com>
+
+       * Interlocked.cs: Add generic CompareExchange and Exchange methods.
+
+2005-11-17  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * WaitHandleCannotBeOpenedException.cs: New (2.0). Is required to 
+       compile the Semaphore tests (in System.dll).
+
+2005-10-23  Marek Safar  <marek.safar@seznam.cz>
+
+       * SynchronizationContext.cs: A few simple fixes.
+
+2005-10-06  Sebastien Pouliot  <sebastien@ximian.com>
+       * Thread.cs: Copy an existing IPrincipal to new threads. Fix bug 
+       #76332.
+
+2005-10-06  Sebastien Pouliot  <sebastien@ximian.com> 
+
+       * Thread.cs: Added new attributes, [ReliabilityContract] for 
+       destructor and [Obsolete] for [Get|Set]CompressedStack, that were 
+       added in 2.0 RC.
+
+2005-09-11  Zoltan Varga  <vargaz@gmail.com>
+
+       * Thread.cs (MemoryBarrier): Make this an icall.
+
+2005-09-10  Zoltan Varga  <vargaz@gmail.com>
+
+       * Thread.cs (Interrupt): Make this throw a NotImplementedException.
+
+2005-09-09  Martin Baulig  <martin@ximian.com>
+
+       * Timer.cs (Timer.Runner.Start): Silently catch
+       ObjectDisposedException and return; works around some race
+       condition on thread abort.      
+
+2005-08-19  Dick Porter  <dick@ximian.com>
+
+       * Thread.cs: Reserve 64 bits for the thread ID.
+
+2005-07-19  Martin Baulig  <martin@ximian.com>
+
+       * Timer.cs (Timer.Runner.Start): Fix a race condition which was
+       causing a hang on exit int he debugger: check `!disposed' before
+       `start_event.WaitOne ()' and again after it.
+
+2005-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Thread.cs: check that the culture is valid for formatting
+       (ie, (!neutral || invariant)).
+
+2005-06-07  Sebastien Pouliot  <sebastien@ximian.com> 
+
+       * Thread.cs: Added _Thread interface (and members) and a few missing
+       attributes (for both 1.1 and 2.0).
+
+2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
+
+       * Thread.cs Mutex.cs Monitor.cs: Add some missing 2.0 attributes.
+
+2005-05-29  Sebastien Pouliot  <sebastien@ximian.com> 
+
+       * Timer.cs: Added new constructor for 2.0 and ComVisible attribute.
+       * Timeout.cs: This is a static class in 2.0 and ComVisible attribute.
+
+2005-05-26  Ben Maurer  <bmaurer@ximian.com>
+
+       * Thread.cs: Use a static object for a lock rather than
+       typeof(Thread).
+
+2005-05-26  Sebastien Pouliot  <sebastien@ximian.com> 
+       * SynchronizationContext.cs: Re-introduced SendOrPost method as it's 
+       being used in System.Web.Services.
+
+2005-05-26  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * SynchronizationContext.cs: Updated to beta2 API so it doesn't depend
+       on the switcher structure anymore (which will be removed from the 
+       build).
+
+2005-05-24  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Thread.cs: Removed #pragma which aren't supported by CSC 7.x.
+
+2005-05-20  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * AsyncFlowControl.cs: Now available, as internal, in NET_1_1. This is
+       required to get some methods from SecurityContext and ExecutionContext
+       working.
+       * CompressedStack.cs: Now includes the current CompressedStack in a new
+       Capture.
+       * ExecutionContext.cs: Includes more methods in NET_1_1 to enable 
+       ThreadPool.UnsafeQueueUserWorkItem to work properly (i.e. without
+       stack propagation).
+       * Thread.cs: Made ExecutionContext field accessible from the runtime.
+       Added stack propagation when Thread.Start is called.
+       * ThreadPool.cs: QueueUserWorkItem now does stack propagation (done in
+       the runtime), so I "fixed" UnsafeQueueUserWorkItem not to do so.
+
+2005-05-19  Miguel de Icaza  <miguel@novell.com>
+
+       * Thread.cs: REmove warnings.
+
+2005-05-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Thread.cs: first check for null, then set in_currentculture.
+
+2005-05-12  Lluis Sanchez Gual  <lluis@novell.com>
+
+       * Thread.cs: Moved all checks done inside sync_lock to unmanaged code.
+       Merged Thread_internal and Start_internal into a single icall, which
+       does all work.
+
+2005-05-11  Sebastien Pouliot  <sebastien@ximian.com> 
+
+       * CompressedStack.cs: Allow merging of an existing CompressedStack
+       with the actual stack of the current Thread.
+       * Thread.cs: GetCompressedStack and SetCompressedStack are public 
+       before 2.0 but couldn't be seen with mono-api-info because of it's 
+       LinkDemand for the ECMA public key. Removed unused CompressedStack
+       private field (now part of the ExecutionContext).
+
+2005-05-09  Sebastien Pouliot  <sebastien@ximian.com> 
+
+       * CompressedStack.cs: GetCompressedStack is public before 2.0 but 
+       couldn't be seen with mono-api-info because of it's LinkDemand for
+       the ECMA public key. Stack capture occurs here if none exists on the
+       current thread.
+
+2005-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * ReaderWriterLock.cs: fix random ApplicationException errors. Tested
+       with the System.Web.Cache stress program. Patch by Eyal Alayuf
+       (Mainsoft). Fixes 74598.
+
+2005-04-28  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Thread.cs: Added property to get the ExecutionContext in 2.0. Fixed
+       GetCompressedStack and made SetCompressedStack available (as internal)
+       before NET_2_0.
+
+2005-04-28  Sebastien Pouliot  <sebastien@ximian.com> 
+       * AsyncFlowControl.cs: Updated wrt beta2.
+       * ExecutionContext.cs: Updated wrt beta2. Class is now internal in 
+       NET_1_1 to allow the compressed stack propagation to other threads.
+       * CompressedStack.cs: Updated wrt beta2. Class is internal in NET_1_1 
+       to allow the compressed stack propagation to other threads.
+       * ContextCallback.cs: Updated wrt beta2.
+       * HostExecutionContext.cs: Updated wrt beta2.
+       * HostExecutionContextManager.cs: Updated wrt beta2.
+       * Thread.cs: Added internal property to get the ExecutionContext.
+
+2005-04-19  Zoltan Varga  <vargaz@freemail.hu>
+
+       * Thread.cs: Add some unused fields.
+
+2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * ThreadPool.cs: BindHandle does nothing now.
+
+2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Thread.cs: clear the Unstarted bit before calling Start_internal.
+       Fixes bug #72738.
+
+2005-04-04  Ben Maurer  <bmaurer@ximian.com>
+
+       * Thread.cs: Do argument checking for Current[UI]Culture to make
+       the exception more clear for a null value being set.
+
+2005-03-24  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * CompressedStack.cs: Added LinkDemand for UnmanagedCode and ECMA 
+       public key on GetCompressedStack method.
+       * Mutex: Added LinkDemand for UnmanagedCode to create named (system 
+       wide) mutexes.
+       * Thread.cs: Added LinkDemand for ECMA public key on [Get|Set]
+       CompressedStack methods.
+       * WaitHandle.cs: Added LinkDemand and InheritanceDemand for 
+       UnmanagedCode on set Handle property.
+
+2005-03-10  Zoltan Varga  <vargaz@freemail.hu>
+
+       * Thread.cs: Make slothash a ThreadStatic field. Fixes #65414.
+
+2005-02-21  Zoltan Varga  <vargaz@freemail.hu>
+
+       * Monitor.cs Interlocked.cs: Add net 2.0 ReliabilityContractAttributes.
+
+2005-02-20  Zoltan Varga  <vargaz@freemail.hu>
+
+       * Interlocked.cs: Applied patch from Luca Barbieri (luca.barbieri@gmail.com). Add NET 2.0 methods.
+
+Tue Feb 15 18:19:11 CET 2005 Paolo Molaro <lupus@ximian.com>
+
+       * Thread.cs: make the slothash a field in MonoThread.
+
 2005-01-27  Sebastien Pouliot  <sebastien@ximian.com>
 
        * Overlapped.cs: Added check for ControlPolicy and ControlEvidence for
@@ -101,7 +393,7 @@ Thu Jan 13 18:15:32 CET 2005 Paolo Molaro <lupus@ximian.com>
 2004-07-15  Dick Porter  <dick@ximian.com>
 
        * Thread.cs: Hold a lock in GetNamedDataSlot.  Fixes bug 61582,
-       based on patch by Sébastien Robitaille
+       based on patch by Sbastien Robitaille
        (sebastien.robitaille@croesus.com).  Also fix instances of
        lock(typeof(Thread)) to lock a private object instead.
 
@@ -378,7 +670,7 @@ Tue May 13 15:34:29 CEST 2003 Paolo Molaro <lupus@ximian.com>
        * Thread.cs: added missing field used by the runtime and
        a new field to support thread-static data.
 
-2003-04-17  Pedro Mart�ez Juli� <yoros@wanadoo.es>
+2003-04-17  Pedro Mart?ez Juli? <yoros@wanadoo.es>
 
        * Timer.cs: Change the position of two lines because they were
        before the "if" that ensures the integrity. After this, the first of