1 2004-12-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3 * Thread.cs: don't bother serializing if the CultureInfo we're setting
4 has the same LCID as the CurrentCulture.
6 2004-12-14 Zoltan Varga <vargaz@freemail.hu>
8 * Thread.cs: Optimize CurrentCulture to avoid initializing the
9 serialization infrastructure in the common case when the culture is
12 2004-12-06 Zoltan Varga <vargaz@freemail.hu>
14 * Thread.cs: Add new fields 'serialized_culture_info{_len}'.
16 * Thread.cs (CurrentCulture): Fix leaking of culture info objects
17 across appdomains. Partially fixes #50049.
19 2004-12-05 Miguel de Icaza <miguel@ximian.com>
21 * AutoResetEvent.cs (Set, Reset): If we are disposed, throw a
22 ObjectDisposedEvent, helped track the WebConnection destructor
25 2004-09-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
27 * Timer.cs: don't invoke the callback twice when the timer changes.
30 2004-09-08 Marek Safar <marek.safar@seznam.cz>
32 * Interlocked.cs: Class is static in NET_2_0.
34 2004-09-04 Sebastien Pouliot <sebastien@ximian.com>
36 * Thread.cs: Changed an imperative security demand to declarative
37 (unsupported) so it doesn't (for now) call the security runtime.
39 2004-08-20 Sebastien Pouliot <sebastien@ximian.com>
41 * Thread.cs: Added Fx 2.0 properties/methods/attributes.
43 2004-08-12 Sebastien Pouliot <sebastien@ximian.com>
45 * CompressedStackSwitcher.cs: Added missing [ComVisible] and
46 [ReliabilityContract] attributes.
47 * ExecutionContext.cs: Added missing [ComVisible] and
48 [Serializable] attributes.
49 * HostExecutionContext.cs: Added missing [ComVisible] attribute.
50 * HostExecutionContextManager.cs: Added missing [ComVisible] and
51 [ReliabilityContract] attributes.
52 * HostExecutionContextSwitcher.cs: Added missing Equals and
53 GetHashCode methods and [ComVisible] and [ReliabilityContract] attrs.
54 * ParameterizedThreadStart.cs: New delegate in NET_2_0.
55 * SendOrPostCallback.cs: Added missing [ComVisible] attribute.
56 * SynchronizationContext.cs: Added new (2.0 beta1) methods Copy and
57 WaitHelper. Added missing [ComVisible] and [ReliabilityContract] attrs.
58 * SynchronizationContextSwitcher.cs: Added missing [ComVisible] and
59 [ReliabilityContract] attributes.
61 2004-08-08 Sebastien Pouliot <sebastien@ximian.com>
63 * HostExecutionContext.cs: Fx 2.0 stub required for AppDomain.
64 * HostExecutionContextManager.cs: Fx 2.0 stub required for AppDomain.
65 * HostExecutionContextSwitcher.cs: Fx 2.0 stub required for AppDomain.
67 2004-08-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
69 * Timer.cs: don't invoke the callback if the period changes before the
70 due time. Fixes bug #62421.
72 2004-07-27 Lluis Sanchez Gual <lluis@novell.com>
74 * ExecutionContext.cs, ExecutionContextSwitcher.cs,
75 SynchronizationContext.cs, SynchronizationContextSwitcher.cs: Added
78 2004-07-15 Dick Porter <dick@ximian.com>
80 * Thread.cs: Hold a lock in GetNamedDataSlot. Fixes bug 61582,
81 based on patch by Sébastien Robitaille
82 (sebastien.robitaille@croesus.com). Also fix instances of
83 lock(typeof(Thread)) to lock a private object instead.
85 2004-07-14 Sebastien Pouliot <sebastien@ximian.com>
87 * AsyncFlowControl.cs: New structure in Fx 2.0 required in
88 System.Security namespace.
89 * CompressedStackSwitcher.cs: New structure in Fx 2.0 required in
90 System.Security namespace.
91 * ContextCallback.cs: New delegate in Fx 2.0 required in
92 System.Security namespace.
93 * CompressedStack.cs: Updated API for NET_2_0 profile.
95 2004-07-10 Lluis Sanchez Gual <lluis@ximian.com>
97 * SendOrPostCallback.cs: New delegate.
99 2004-06-24 Dick Porter <dick@ximian.com>
101 * Mutex.cs: Implement the createdNew parameter
103 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
105 * Thread.cs: changed return type of VolatileRead to UIntPtr
106 * ThreadPool.cs: set return type of SetMinThreads to bool
108 2004-06-15 Lluis Sanchez Gual <lluis@ximian.com>
110 * Thread.cs: Added new fields to keep sync with MonoThread.
111 Removed state changes in Sleep and Join. The state change is now done
112 in the icall. For accessing to internal fields lock with synch_lock
113 instead of this, which can be a source of deadlocks.
115 2004-06-15 Lluis Sanchez Gual <lluis@ximian.com>
117 * Timer.cs: Don't abort the thread if Dispose() is called from the runner
120 2004-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
123 (CurrentPrincipal): lock on CurrentThread, not typeof (Thread) and set
124 the thread IPrincipal if we get it from the AppDomain.
126 2004-06-09 Gert Driesen <drieseng@users.sourceforge.net>
128 * CompressedStack.cs: Added finalizer to match public API of
131 2004-05-19 Lluis Sanchez Gual <lluis@ximian.com>
133 * Thread.cs: Some fixes in Abort. Implemented Suspend and Resume.
134 Added internal interruption_requested field.
136 2004-05-13 Sebastien Pouliot <sebastien@ximian.com>
138 * CompressedStack.cs: Added an internal constructor so a default one
139 doesn't appear with corcompare.
140 * Thread.cs: Added missing MemoryBarrier (only for 1.1) and SpinWait to please
141 corcompare. Both throw a NotImplementedException.
142 * ThreadPool.cs: Added missing UnsafeRegisterWaitForSingleObject methods (4
143 overloads) to please corcompare. All throw a NotImplementedException.
145 2004-05-12 Zoltan Varga <vargaz@freemail.hu>
147 * CompressedStack.cs: New file.
149 2004-04-15 Lluis Sanchez Gual <lluis@ximian.com>
151 * ThreadPool.cs: Added GetMinThreads and SetMinThreads.
152 * Timer.cs: In Change, return false if the timer has been disposed.
153 In Dispose, notify the WaitHandle.
155 2004-04-11 Lluis Sanchez Gual <lluis@ximian.com>
157 * ReaderWriterLock.cs: More fixes: never wait where acquiring a reader lock
158 if the thread already has the lock. Added readyWaitingReaders variable to
159 keep track of threads ready to get the reader lock.
161 2004-04-11 Lluis Sanchez Gual <lluis@ximian.com>
163 * LockQueue.cs: Moved lockCount change inside the rwlock lock. Removed
164 lock(this) when entering the rwlock to avoid a deadlock.
165 * ReaderWriterLock.cs: In AcquireWriterLock, queue the thread if the queue
166 is not empty (even if state==0).
168 2004-04-09 Zoltan Varga <vargaz@freemail.hu>
170 * Timer.cs: Call the callback immediately if dueTime is 0. Fixes
173 2004-04-08 Jackson Harper <jackson@ximian.com>
175 * ReaderWriterLock.cs: Fix tyop
177 2004-04-08 Lluis Sanchez Gual <lluis@ximian.com>
179 * ReaderWriterLock.cs: Changed some methods to private.
180 * WaitHandle.cs: In Wait methods, release the synchronization context when
183 2004-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
185 * Timer.cs: call Abort on the Runner instance too.
187 2004-04-07 Jackson Harper <jackson@ximian.com>
189 * Thread.cs: Use new culture info method for constructing the
192 2004-04-07 Lluis Sanchez Gual <lluis@ximian.com>
194 * ReaderWriterLock.cs: When a thread holds a writer lock, a call to
195 AcquireReaderLock works like a call to AcquireWriterLock.
197 2004-04-06 Lluis Sanchez Gual <lluis@ximian.com>
199 * Monitor.cs: In Wait(), release the synchronization context when
202 2004-04-06 Lluis Sanchez Gual <lluis@ximian.com>
204 * LockCookie.cs: Keep in this class the count of reader or writer locks
205 for a thread, not only whether it has locks or not.
206 * LockQueue.cs: Added property for checking if a thread is waiting in
207 the queue. Wait now returns a boolean that set to false on timeout
209 * ReaderWriterLock.cs: Started fixing bugs but I had to rewrite a lot of it.
210 The main change is that now it keeps a reader lock count for each
211 thread. This is needed since methods like ReleaseLock or
212 UpgradeToWriterLock need to return a per-thread status in LockCookie.
213 Also added support for recursive writer-lock requests.
215 2004-03-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
217 * ThreadAbortException.cs: use same HResult as MS.
218 * Timer.cs: abort the running thread when disposing the Timer. This
219 fixes NullRefs when finishing xsp.
221 2004-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
223 * NativeOverlapped.cs: added 2 new internal fields.
224 * Overlapped.cs: implemented, but it's not used.
226 * ThreadPool.cs: implemented BindHandle.
228 2004-03-08 Zoltan Varga <vargaz@freemail.hu>
230 * Timer.cs (Dispose): Applied patch from Jaroslaw Kowalski
231 (jaak@zd.com.pl). Fix finalization problems during appdomain unload.
233 2004-02-23 Jackson Harper <jackson@ximian.com>
235 * LockCookie.cs: Add some fields for restoring locks.
236 * ReaderWriterLock.cs: Implement
237 * LockQueue.cs: New File - used for queueing thread locks in
240 2004-02-19 Jackson Harper <jackson@ximian.com>
242 * Monitor.cs: Fix spelleng.
244 2004-02-09 Zoltan Varga <vargaz@freemail.hu>
246 * Thread.cs: Add fields added to unmanaged MonoThread here as well.
247 Fixes random errors caused by memory corruption.
249 2004-02-06 Zoltan Varga <vargaz@freemail.hu>
251 * Thread.cs: Store the thread name in unmanaged memory, since the
252 thread object is shared between appdomains.
254 2004-02-05 Sebastien Pouliot <sebastien@ximian.com>
256 * Thread.cs: Implemented CurrentPrincipal.
258 2004-01-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
260 * Thread.cs: delayed thread creation until Start is called. If we
261 don't do that and Start() is not called, the thread is leaked. First
262 step towards fixing bug #53078.
264 2003-12-02 Dick Porter <dick@ximian.com>
266 * Thread.cs: Throw InvalidOperationException if Thread.Name is
269 2003-12-01 Dick Porter <dick@ximian.com>
271 * Thread.cs: Implement CurrentCulture and CurrentUICulture
273 2003-11-12 Miguel de Icaza <miguel@ximian.com>
275 * Thread.cs: Add new VolatileRead/VolatileWrite methods from 1.1
277 2003-10-23 Lluis Sanchez Gual <lluis@ximian.com>
279 * Thread.cs: Added ResetDataStoreStatus and RestoreDataStoreStatus
280 methods. They are used in CrossAppDomainChannel to save and restore
281 thread's local data when switching between domains.
283 2003-10-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
285 * ManualResetEvent.cs: added check for disposed.
286 * Thread.cs: no need to init this field.
288 2003-10-01 Zoltan Varga <vargaz@freemail.hu>
290 * Thread.cs: Add locking to AllocateNamedDataSlot and
293 Wed Aug 20 12:01:36 CEST 2003 Paolo Molaro <lupus@ximian.com>
295 * Thread.cs: put all the fields at the start and add
296 more fields needed by the runtime.
298 2003-08-14 Lluis Sanchez Gual <lluis@ximian.com>
300 * Thread.cs: SetData() method: use Hashtable.Contains to check
301 if a dataslot has been allocated (value could be null).
303 2003-07-23 Duncan Mak <duncan@ximian.com>
305 * WaitHandle.cs (CheckDisposed): This method is not in the public
306 API, mark it as 'internal'.
308 2003-07-01 Dick Porter <dick@ximian.com>
310 * Thread.cs: Throw an exception if thread creation failed.
311 (Better than just blowing up later.)
313 2003-06-27 Dietmar Maurer <dietmar@ximian.com>
315 * ThreadPool.cs: use async delegate invoke.
317 2003-06-25 Dick Porter <dick@ximian.com>
319 * WaitHandle.cs: Default handle value should be InvalidHandle, not
322 2003-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
324 * ThreadPool.cs: correctly create a TimeSpan with provided the number of
327 * WaitHandle.cs: fixes for WaitAny/All and TimeSpan.
329 2003-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
331 * WaitHandle.cs: checks and exceptions.
333 2003-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
335 * NativeEventCalls.cs: added CloseEvent_intenal.
336 * WaitHandle.cs: call CloseEvent_internal when disposing.
338 2003-05-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
340 * RegisteredWaitHandle.cs: check that the callback is not null before
343 * ThreadPool.cs: fixed timeout -> TimeSpan conversions (closes bug
344 #43963). Queue the item before setting the handle. If there's a timeout,
345 avoid trying to Dequeue, getting the exception et al, just continue the
348 Mon May 19 09:07:45 CEST 2003 Paolo Molaro <lupus@ximian.com>
350 * Monitor.cs: removed test_owner, the check is already done in the
353 Tue May 13 15:34:29 CEST 2003 Paolo Molaro <lupus@ximian.com>
355 * Thread.cs: added missing field used by the runtime and
356 a new field to support thread-static data.
358 2003-04-17 Pedro Mart�ez Juli� <yoros@wanadoo.es>
360 * Timer.cs: Change the position of two lines because they were
361 before the "if" that ensures the integrity. After this, the first of
362 that two lines was producing a NullReferenceException.
364 2003-04-09 Dick Porter <dick@ximian.com>
366 * Thread.cs: Make sure a reference to the ThreadStart delegate is
367 held. There's no telling how long it will be before
368 Thread.Start() is called, and GC might destroy the delegate.
369 Thread() and Start() need to be rewritten so that the runtime
370 creates the new thread when Start() is called, which will simplify
371 the code a great deal.
373 2003-03-20 Miguel de Icaza <miguel@ximian.com>
375 * Thread.cs (CurrentCuluture): use the invaraint culture instead
376 of "" for the current_culture setting.
378 2003-03-25 Zoltan Varga <vargaz@freemail.hu>
380 * Thread.cs: Fix visibility of ResetAbort().
382 2003-03-18 Dick Porter <dick@ximian.com>
384 * Thread.cs: Keep the thread state updated in all the places that
385 require it. (Suspend, Resume and Interrupt not handled yet)
387 2003-03-03 Lluis Sanchez Gual <lluis@ideary.com>
389 * Thread.cs: Changed implementation of CurrentContext, adapted to the changes
392 2003-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
394 * Thread.cs: implemented CurrentContext.
396 2003-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
398 * Thread.cs: made the thread_id for the current thread accesible through
399 an internal property.
401 2003-02-17 Dick Porter <dick@ximian.com>
403 * Thread.cs: Added the Start semaphore field to the class. Update
404 the thread state after Start() has returned, not before.
406 2003-02-13 Zoltan Varga <vargaz@freemail.hu>
408 * Thread.cs (Sleep): Timeout.Infinite is a value argument.
410 2003-02-11 Dick Porter <dick@ximian.com>
412 * Monitor.cs: Infinite wait is Infinite, not 0 ms
414 2003-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
416 * Thread.cs: fixed bug #37759.
418 2003-02-07 Patrik Torstensson
420 * Timer.cs: Set the Background thread flag for the timer thread
422 2003-02-05 Patrik Torstensson
424 * ThreadPool.cs: Reformated and fixed issue that made all thread exit the pool.
426 2003-02-04 Lluis Sanchez Gual <lluis@ideary.com>
428 * ThreadPool.cs: Implemented RegisterWaitForSingleObject methods.
430 Tue Jan 28 17:55:59 CET 2003 Paolo Molaro <lupus@ximian.com>
432 * Thread.cs: delay-init datastorehash.
434 2003-01-10 Patrik Torstensson <totte@race-x-change.com>
436 * ThreadPool.cs: Temporary removed the usage of monitor thread, implemented a
437 model more equal to the MS one.
439 2002-12-10 Dick Porter <dick@ximian.com>
445 * WaitHandle.cs: Use TotalMilliseconds to convert a TimeSpan to
446 ms, not Milliseconds.
448 2002-12-07 Martin Baulig <martin@ximian.com>
450 * Timer.cs: Make it actually work; now it no longer sets your
451 application on fire if you use a zero periode and Timer.Change()
454 2002-11-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
456 * Timer.cs: implemented more stuff. It works now.
458 2002-10-25 Zoltan Varga <vargaz@freemail.hu>
460 * Thread.cs: Implement GetDomain() and GetDomainID().
462 2002-10-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
464 * ThreadPool.cs: now the monitor thread is not sleeping and checking if
465 more worker threads needed. It waits on _DataInQueue. If (and only if)
466 there's data in the queue it checks if more worker threads needed and
467 then sleeps 0.5s before waiting for queued data again.
469 2002-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
471 * ThreadPool.cs: set IsThreadPoolThread before starting the worker.
473 2002-09-11 Dick Porter <dick@ximian.com>
476 * ManualResetEvent.cs:
477 * AutoResetEvent.cs: Use the WaitHandle.Handle property instead of
480 * WaitHandle.cs: Hide the os_handle field and the WaitOne_internal
483 2002-09-03 Dick Porter <dick@ximian.com>
485 * Thread.cs: Added thread ID field
487 2002-08-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
489 * WaitHandle.cs: IDisposable fixes.
491 2002-08-14 Dick Porter <dick@ximian.com>
493 * Thread.cs: Make CurrentUICulture act the same as CurrentCulture
496 2002-08-12 Dietmar Maurer <dietmar@ximian.com>
498 * ThreadAbortException.cs: impl. ExceptionState property.
500 * Thread.cs: moved all instance variables to the start of the
501 class. added support for Thread::Abort()
503 2002-04-30 Dick Porter <dick@ximian.com>
505 * Thread.cs: If LocalDataStoreSlot already has data set, remove it
506 before adding a new one.
508 Use the Thread object destructor to tell the runtime to close the
511 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
513 * Interlocked.cs: made all methods icalls.
515 2002-04-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
517 * IOCompletionCallback.cs: added attributes to the delegate
518 (CLSCompliant(false) and Serializable).
520 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
521 * Thread.cs: Fixed IsThreadPoolThread to use a internal property instead of extending
522 the threadstate enum.
523 * ThreadPool.cs: Now using the internal Isthreadpoolthread property
524 * ThreadState.cs: removed non-standard enum (ThreadPoolThread)
526 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
528 * ThreadState.cs: Added enum for threadpool thread
529 * Thread.cs: changed the set/clr_state to be internal (used from threadpool)
530 * Thread.cs: Added IsThreadPoolThread
531 * ThreadPool.cs: Implementation of QueueUserWorkItem
533 Wed Feb 13 21:51:30 CET 2002 Paolo Molaro <lupus@ximian.com>
535 * Thread.cs: implement CurrentCulture property needed by
536 Convert.ChangeType() (used when compiling enums).
538 2002-01-23 Dick Porter <dick@ximian.com>
540 * ManualResetEvent.cs:
541 * AutoResetEvent.cs: Fixed DOS line endings
543 2002-01-22 Veronica De Santis <veron78@interfree.it>
545 * NativeEventCalls : Class that contains internal calls shared by Auto
546 and Manual Reset Events
547 * AutoResetEvents.cs : Added class AutoResetEvents and its implementation
548 * ManualResetEvents.cs : Added class ManualResetEvents and its implementation
550 2002-01-16 Veronica De Santis <veron78@interfree.it>
552 * WaitHandle.cs : Renamed handle to os_handle and make it protected
554 * Mutex.cs : Write the System.Threading.Mutex methods ( constructors
555 and the ReleaseMutex)
557 2002-01-15 Dick Porter <dick@ximian.com>
560 * Thread.cs: Make the runtime's idea of infinite timeouts coincide
561 with the class library's
563 2002-01-10 Dick Porter <dick@ximian.com>
565 * WaitHandle.cs: Added checks for too many handles and null
566 handles in WaitAll() and WaitAny
569 2002-01-05 Ravi Pratap <ravi@ximian.com>
571 * AutoResetEvent.cs, ManualResetEvent.cs, Monitor.cs : MonoTODO
574 * Mutex.cs, Overlapped.cs, ReaderWriterLock.cs, RegisteredWaitHandle.cs,
575 Thread.cs, ThreadAbortException.cs, ThreadPool.cs, Timer.cs, WaitHandler.cs : Ditto.
577 2001-12-11 Dick Porter <dick@ximian.com>
579 * WaitHandle.cs: Implemented WaitAll(), WaitAny() and WaitOne() as
582 2001-11-26 Dick Porter <dick@ximian.com>
584 * Thread.cs: DataSlot uses a single system TLS slot, and a
585 hashtable per thread. Some minor changes to reflect the new
586 internal calls using the new IO library, and the newly-supported
587 bool returns from internal calls.
589 * Monitor.cs: Use bool returns from internal calls now they are
590 supported by the runtime. Coalesce enter with the try_enter
593 Wed Nov 14 17:06:18 CET 2001 Paolo Molaro <lupus@ximian.com>
595 * Overlapped.cs, ThreadPool.cs, Timer.cs: CLSCompliant updates.
597 2001-10-03 Dick Porter <dick@ximian.com>
599 * Monitor.cs: Implemented all methods except the two Wait()
600 methods that take boolean parameters
602 2001-09-28 Dick Porter <dick@ximian.com>
604 * Thread.cs: Implemented AllocateDataSlot(),
605 AllocateNamedDataSlot(), FreeNamedDataSlot(), GetData(),
606 GetNamedDataSlot(), SetData(), IsBackground. Reworked Thread()
607 and Start() to avoid a race condition. Added thread-safe state
608 changing private operations.
610 * Monitor.cs: Comment out the GetType() calls because it isn't implemented yet
612 2001-09-25 Dick Porter <dick@ximian.com>
614 * Thread.cs: Implement Join and timed Join, set correct state
615 around Start, Join and Sleep calls, implement IsAlive and
616 ThreadState properties.
618 * ThreadState.cs (Threading): Added StopRequested,
619 SuspendRequested, Suspended values
621 2001-09-23 Dick Porter <dick@ximian.com>
623 * Thread.cs: Implemented CurrentThread and Sleep (both versions)
624 with internal calls, and Name.
626 2001-09-21 Dick Porter <dick@ximian.com>
628 * Thread.cs: Implement Thread(ThreadStart) constructor and Start()
629 with an internal call
631 * WaitHandle.cs: Close calls Dispose(false)
633 2001-09-13 Dick Porter <dick@ximian.com>
635 * ApartmentState.cs (Threading): Set the correct enum values
637 2001-09-13 Dick Porter <dick@ximian.com>
639 * ApartmentState.cs, AutoResetEvent.cs, IOCompletionCallback.cs,
640 Interlocked.cs, LockCookie.cs, ManualResetEvent.cs, Monitor.cs,
641 Mutex.cs, NativeOverlapped.cs, Overlapped.cs, ReaderWriterLock.cs,
642 RegisteredWaitHandle.cs, SynchronizationLockException.cs,
643 Thread.cs, ThreadAbortException.cs, ThreadInterruptedException.cs,
644 ThreadPool.cs, ThreadStart.cs, ThreadStateException.cs,
645 Timeout.cs, Timer.cs, TimerCallback.cs, WaitCallback.cs,
646 WaitHandle.cs, WaitOrTimerCallback.cs: System.Threading class
649 2001-07-18 Michael Lambert <michaellambert@email.com>
651 * ThreadPriority.cs, ThreadState.cs: Add.