New tests.
[mono.git] / mcs / class / corlib / System.Threading / ChangeLog
index 89441d28882bd80100ad2e08267fa72bd31b11ca..d97407c29e13d2d955a00d0c2cd86af8e3f97aa7 100644 (file)
@@ -1,3 +1,319 @@
+2010-04-23  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * LazyThreadSafetyMode.cs: Include in Moonlight build.
+
+2010-04-15  Jérémie Laval  <jeremie.laval@gmail.com>
+
+       * AtomicBoolean.cs:
+       * CountdownEvent.cs:
+       * SpinLock.cs: Add BOOTSTRAP_NET_4_0 define
+
+2010-03-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * ThreadPool.cs: add fast path to queue work items in the runtime.
+
+2010-03-23  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Monitor.cs: Implement new NET_4_0 (and SL4) Enter overload 
+       required to run some DRT tests (e.g. 7007)
+
+2010-03-16  Jb Evain  <jbevain@novell.com>
+
+       * ThreadPool.cs, Thread.cs, ExecutionContext.cs: use MOONLIGHT
+       symbol to disambiguate MonoTouch and Moonlight code.
+
+2010-03-08  Jérémie Laval  <jeremie.laval@gmail.com>
+
+       * SpinLock.cs: Merge algorithm back in SpinLock struct
+
+2010-03-08  Jérémie Laval  <jeremie.laval@gmail.com>
+
+       * SpinLock.cs: Update to use ticket spinlock algorithm
+
+2010-02-26 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * LazyThreadSafetyMode.cs: Added.
+
+2010-02-08  Zoltan Varga  <vargaz@gmail.com>
+
+       * WaitHandle.cs (CheckArray): Check that the handles array is not null.
+       Fixes #576039.
+
+2010-02-02  Jérémie Laval  <jeremie.laval@gmail.com>
+
+       * CancellationToken.cs:
+       * CancellationTokenSource.cs:
+       * ManualResetEventSlim.cs:
+       * SemaphoreSlim.cs:
+       * SpinLock.cs:
+       * SpinWait.cs:
+       * ThreadLocal.cs: Port to .NET 4 beta 2 API
+
+2009-12-09  Jb Evain  <jbevain@novell.com>
+
+       * ThreadPool.cs (QueueUserWorkItem): properly throw
+       an ANE instead of triggering a NRE when being passed a null callback.
+
+2009-11-02  Miguel de Icaza  <miguel@novell.com>
+
+       * Jumbo patch to drop support for pre-NET_2_0 code:
+
+       Remove ONLY_1_1 code
+       Remove NET_1_0 only code
+       Remove NET_2_0 defines assuming the value is true.
+
+2009-11-02  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Thread.cs (set_CurrentUICulture): Delay setting in_currentculture
+       to true until after the null check and the return statement.
+
+2009-11-02  Jérémie Laval  <jeremie.laval@gmail.com>
+
+       * Parallel.cs: Added fix for Bug #536919.
+
+2009-10-25  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Thread.cs: Fix validations for Join and Sleep overloads
+
+2009-10-22  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * EventWaitHandle.cs: Add validation on the EventResetMode 
+       parameter used in the constructors
+       * Monitor.cs: Fix validations for TryEnter and Wait. Reduce 
+       duplicated code between overloads.
+
+2009-10-21  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * WaitHandle.cs: Add missing validations for 'millisecondsTimeout'
+       in Wait[One|Any|All]. Also call the overloaded (bool) methods for
+       WaitAll to reduce code duplication.
+
+2009-10-20  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Timer.cs: Always call Init from every constructors to avoid 
+       duplicate checks. Fix validations on different dueTime and period
+       (ctor and Change methods). Seal private TimerComparer class and
+       avoid multiple (identical) casts in its Compare method. Seal 
+       private Scheduler class.
+
+2009-10-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * Timer.cs: make sure we don't insert 2 timers with the same key.
+
+2009-10-20  Jb Evain  <jbevain@novell.com>
+
+       * Thread.cs: change type of the current_appcontext field to object
+       to avoid triggering static constructors unless explicitely required.
+
+2009-10-16 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * Timer.cs: looks like any negative value is treated as Infinite.
+
+2009-10-07  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Thread.cs: Remove LocalDataStoreSlot-related methods from
+       Moonlight build
+
+2009-09-29  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * Thread.cs: StartSafe: ignore ThreadAbortExceptions.
+
+2009-09-27 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * Timer.cs: account for the time spent sending jobs to the queue.
+
+2009-09-26  Mark Probst  <mark.probst@gmail.com>
+
+       * Thread.cs: Serialize the principal so as not to make it cross
+       appdomains.  Two new internal calls for copying byte arrays
+       between domains.
+
+2009-09-25  Mark Probst  <mark.probst@gmail.com>
+
+       * Thread.cs: The Thread class is split up into Thread and
+       InternalThread now.  We have exactly one InternalThread per
+       thread, and at most one Thread per appdomain per thread.  Most
+       data is stored in InternalThread.  All InternalThread objects live
+       in the root domain.
+
+       * Environment.cs: Corlib version bump.
+
+2009-09-24 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * Timer.cs: no need to wake up the scheduler when removing the next
+       scheduled item.
+
+2009-09-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * Timer.cs: rewritten. It only has one queue now and it is sorted by
+       due time. Before this changes, it was using a lot of CPU when there
+       were a lot of 'future' timers.
+
+2009-09-23  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * ExecutionContext.cs: Don't use SecurityContext and don't expose
+       AsyncFlowControl for NET_2_1
+       * ThreadAbortException.cs: Remove ExceptionState from NET_2_1
+       * Thread.cs: Don't expose ApartmentState and remove Suspend and
+       Resume methods for NET_2_1
+       * ThreadPool.cs: Remove GetAvailableThreads and Unsafe* methods
+       for NET_2_1
+
+2009-09-22  Jb Evain  <jbevain@novell.com>
+
+       * Timer.cs: MONOTOUCH doesn't support remoting, so do not pass
+       true to exitContext when calling WaitOne on a WaitHandle.
+
+2009-09-22  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Thread.cs: Remove [Get|Set]CompressedStack for NET_2_1
+
+2009-09-21  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Thread.cs: Remove CurrentPrincipal property for NET_2_1
+       * ExecutionContext.cs: Remove Run method for NET_2_1
+
+2009-09-20  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * EventWaitHandle.cs: Remove AccessControl usage for NET_2_1
+       * Mutex.cs: Remove some ctors and AccessControl usage for NET_2_1
+       * NativeEventCalls.cs: Remove AccessControl usage for NET_2_1
+
+2009-08-19  Jérémie Laval  <jeremie.laval@gmail.com>
+
+       * ParallelLoopState.cs: Take in account that
+       AtomicBoolean is a class.
+
+2009-08-19  Jérémie Laval  <jeremie.laval@gmail.com>
+
+       * AtomicBoolean.cs: Turn it into a class
+       * CountdownEvent.cs: Work on cached variable. Make sure
+       count doesn't go under 0.
+
+2009-08-11  Jérémie Laval  <jeremie.laval@gmail.com>
+
+       * Watch.cs:
+       * SpinWait.cs:
+       * CountdownEvent.cs:
+       * CancellationToken.cs:
+       * ICancelableOperation.cs:
+       * CancellationTokenSource.cs:
+       * CancellationTokenRegistration.cs: Add BOOTSTRAP_NET_4_0.
+
+2009-08-11  Jérémie Laval  <jeremie.laval@gmail.com>
+
+       * Parallel.cs: Disable While method.
+       * CountdownEvent.cs: Fix method signature.
+       * Barrier.cs: Moved type.
+       * AggregateException.cs: Moved type.
+
+2009-08-04 Jérémie Laval  <jeremie.laval@gmail.com>
+
+       * SpinLock: Remove unused private methods.
+
+2009-08-03  Zoltan Varga  <vargaz@gmail.com>
+
+       * Thread.cs: Always call Thread_free_internal from the finalizer, since
+       it frees other things besides the handle. Fixes #527576.
+
+2009-07-31  Jérémie Laval  <jeremie.laval@gmail.com>
+
+        * Snzi.cs:
+        * Parallel.cs:
+        * SpinLock.cs:
+        * SpinWait.cs:
+        * ThreadLocal.cs:
+        * SemaphoreSlim.cs:
+        * CountdownEvent.cs:
+        * ManualResetEventSlim.cs
+        * CancellationTokenSource.cs: Various 4.0 b1 API mismatch fixes.
+
+2009-07-30 Jérémie Laval  <jeremie.laval@gmail.com>
+
+       * AggregateException.cs:
+       * AtomicBoolean.cs:
+       * Barrier.cs:
+       * CSnzi.cs:
+       * CancellationToken.cs:
+       * CancellationTokenRegistration.cs:
+       * CancellationTokenSource.cs:
+       * CountdownEvent.cs:
+       * ICancelableOperation.cs:
+       * LazyInitializer.cs:
+       * ManualResetEventSlim.cs:
+       * Parallel.cs:
+       * ParallelLoopResult.cs:
+       * ParallelLoopState.cs:
+       * ParallelOptions.cs:
+       * SemaphoreSlim.cs:
+       * Snzi.cs:
+       * SpinLock.cs:
+       * SpinWait.cs:
+       * ThreadLocal.cs:
+       * Watch.cs: Add ParallelFx files for System.Threading namespace
+
+2009-07-21  Jb Evain  <jbevain@novell.com>
+
+       * ThreadPool.cs: avoid an unecessary method call when not running
+       in moonlight.
+
+2009-07-20  Jb Evain  <jbevain@novell.com>
+
+       * Thread.cs: use the moonlight specific thread start
+       hack for the net_2_1 profile exclusively.
+
+2009-06-25  Miguel de Icaza  <miguel@novell.com>
+
+       * Timer.cs: Throw ArgumentNullException if the callback is null. 
+
+2009-06-22  Bill Holmes  <billholmes54@gmail.com>
+
+       * Thread.cs : Adding interrupt_on_stop field.
+
+       Contributed under MIT/X11 license.
+
+2009-06-10  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * Thread.cs: MoonlightUnhandledException: ensure there's no way to
+       reach native code with a managed exception.
+
+2009-06-10  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Thread.cs: Refactor calling Moonlight's OnUnhandledException to 
+       make sur the delegate it not called from a [SecuritySafeCritical]
+       caller.
+       * ThreadPool.cs: Reuse the above code for QueueUserWorkItem. 
+       Original patch from Alan McGovern
+
+2009-06-10  Marek Safar  <marek.safar@gmail.com>
+
+       * LockRecursionException.cs: New file.
+
+2009-04-21  Mark Probst  <mark.probst@gmail.com>
+
+       * Thread.cs: Make the execution context field thread-static to
+       avoid it being shared between app domains.
+
+2009-04-20  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * Thread.cs: For 2.1 ensure exceptions in threads are handled using the
+       UnhandledException event mechanism in System.Windows.Application instead
+       of crashing the application.
+
+2009-04-18  Mark Probst  <mark.probst@gmail.com>
+
+       * Thread.cs: Don't keep the current number formatter here because
+       it's shared between app domains.
+
+2009-04-18  Mark Probst  <mark.probst@gmail.com>
+
+       * Thread.cs: Make the abort exception state a GC handle, to
+       properly separate AppDomains.  Add internal method for getting the
+       state object.
+
+       * ThreadAbortException.cs: Get the abort exception state via the
+       method in Thread.
+
 2009-04-12 Gonzalo Paniagua Javier <gonzalo@novell.com>
 
        * WaitHandle.cs: implemented 2 missing WaitAny overloads.