2005-02-20 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mcs / class / corlib / System.Threading / ChangeLog
1 2005-02-20  Zoltan Varga  <vargaz@freemail.hu>
2
3         * Interlocked.cs: Applied patch from Luca Barbieri (luca.barbieri@gmail.com). Add NET 2.0 methods.
4
5 Tue Feb 15 18:19:11 CET 2005 Paolo Molaro <lupus@ximian.com>
6
7         * Thread.cs: make the slothash a field in MonoThread.
8
9 2005-01-27  Sebastien Pouliot  <sebastien@ximian.com>
10
11         * Overlapped.cs: Added check for ControlPolicy and ControlEvidence for
12         Unsafe pack. Added MonoTODO for missing security stack propagation.
13         * Thread.cs: Add security checks for ControlThread.
14         * ThreadPool.cs: Added declarative security checks.
15
16 Thu Jan 13 18:15:32 CET 2005 Paolo Molaro <lupus@ximian.com>
17
18         * Thread.cs: implement stacksize and parameterized
19         start functionality (requires matching runtime).
20
21 2005-01-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
22
23         * ThreadAbortException.cs: added private serialization .ctor.
24
25 2004-12-20  Sebastien Pouliot  <sebastien@ximian.com>
26
27         * CompressedStack.cs: Implemented most todo so it's usable for CAS.
28         * CompressedStackSwitcher.cs: Implemented most todo.
29         * Thread.cs: Implement support for getting/setting CompressedStack.
30
31 2004-12-15  Zoltan Varga  <vargaz@freemail.hu>
32
33         * Thread.cs: Change type of culture_info and ui_culture_info to 
34         IntPtr. Implement correct culture handling for the UI culture as
35         well.
36
37 2004-12-14  Zoltan Varga  <vargaz@freemail.hu>
38
39         * Thread.cs: Optimize CurrentCulture to avoid initializing the
40         serialization infrastructure in the common case when the culture is
41         not set explicitly.
42
43 2004-12-06  Zoltan Varga  <vargaz@freemail.hu>
44
45         * Thread.cs: Add new fields 'serialized_culture_info{_len}'.
46         
47         * Thread.cs (CurrentCulture): Fix leaking of culture info objects 
48         across appdomains. Partially fixes #50049.
49
50 2004-12-05  Miguel de Icaza  <miguel@ximian.com>
51
52         * AutoResetEvent.cs (Set, Reset): If we are disposed, throw a
53         ObjectDisposedEvent, helped track the WebConnection destructor
54         issue. 
55
56 2004-09-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
57
58         * Timer.cs: don't invoke the callback twice when the timer changes.
59         Fixes bug #66116.
60
61 2004-09-08  Marek Safar  <marek.safar@seznam.cz>
62
63         * Interlocked.cs: Class is static in NET_2_0.
64
65 2004-09-04  Sebastien Pouliot  <sebastien@ximian.com>
66
67         * Thread.cs: Changed an imperative security demand to declarative
68         (unsupported) so it doesn't (for now) call the security runtime.
69
70 2004-08-20  Sebastien Pouliot  <sebastien@ximian.com>
71
72         * Thread.cs: Added Fx 2.0 properties/methods/attributes.
73
74 2004-08-12  Sebastien Pouliot  <sebastien@ximian.com>
75
76         * CompressedStackSwitcher.cs: Added missing [ComVisible] and 
77         [ReliabilityContract] attributes.
78         * ExecutionContext.cs: Added missing [ComVisible] and 
79         [Serializable] attributes.
80         * HostExecutionContext.cs: Added missing [ComVisible] attribute.
81         * HostExecutionContextManager.cs: Added missing [ComVisible] and 
82         [ReliabilityContract] attributes.
83         * HostExecutionContextSwitcher.cs: Added missing Equals and 
84         GetHashCode methods and [ComVisible] and [ReliabilityContract] attrs.
85         * ParameterizedThreadStart.cs: New delegate in NET_2_0.
86         * SendOrPostCallback.cs: Added missing [ComVisible] attribute.
87         * SynchronizationContext.cs: Added new (2.0 beta1) methods Copy and
88         WaitHelper. Added missing [ComVisible] and [ReliabilityContract] attrs.
89         * SynchronizationContextSwitcher.cs: Added missing [ComVisible] and 
90         [ReliabilityContract] attributes.
91
92 2004-08-08  Sebastien Pouliot  <sebastien@ximian.com>
93
94         * HostExecutionContext.cs: Fx 2.0 stub required for AppDomain.
95         * HostExecutionContextManager.cs: Fx 2.0 stub required for AppDomain.
96         * HostExecutionContextSwitcher.cs: Fx 2.0 stub required for AppDomain.
97
98 2004-08-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
99
100         * Timer.cs: don't invoke the callback if the period changes before the
101         due time. Fixes bug #62421.
102
103 2004-07-27  Lluis Sanchez Gual  <lluis@novell.com>
104
105         * ExecutionContext.cs, ExecutionContextSwitcher.cs, 
106           SynchronizationContext.cs, SynchronizationContextSwitcher.cs: Added
107           2.0 stubs.
108
109 2004-07-15  Dick Porter  <dick@ximian.com>
110
111         * Thread.cs: Hold a lock in GetNamedDataSlot.  Fixes bug 61582,
112         based on patch by Sébastien Robitaille
113         (sebastien.robitaille@croesus.com).  Also fix instances of
114         lock(typeof(Thread)) to lock a private object instead.
115
116 2004-07-14  Sebastien Pouliot  <sebastien@ximian.com>
117
118         * AsyncFlowControl.cs: New structure in Fx 2.0 required in 
119         System.Security namespace.
120         * CompressedStackSwitcher.cs: New structure in Fx 2.0 required in 
121         System.Security namespace.
122         * ContextCallback.cs: New delegate in Fx 2.0 required in 
123         System.Security namespace.
124         * CompressedStack.cs: Updated API for NET_2_0 profile.
125
126 2004-07-10  Lluis Sanchez Gual  <lluis@ximian.com>
127
128         * SendOrPostCallback.cs: New delegate.
129
130 2004-06-24  Dick Porter  <dick@ximian.com>
131
132         * Mutex.cs: Implement the createdNew parameter
133
134 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
135
136         * Thread.cs: changed return type of VolatileRead to UIntPtr
137         * ThreadPool.cs: set return type of SetMinThreads to bool
138
139 2004-06-15  Lluis Sanchez Gual  <lluis@ximian.com>
140
141         * Thread.cs: Added new fields to keep sync with MonoThread.
142           Removed state changes in Sleep and Join. The state change is now done
143           in the icall. For accessing to internal fields lock with synch_lock
144           instead of this, which can be a source of deadlocks.
145
146 2004-06-15  Lluis Sanchez Gual  <lluis@ximian.com>
147
148         * Timer.cs: Don't abort the thread if Dispose() is called from the runner
149           thread.
150
151 2004-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
152
153         * Thread.cs:
154         (CurrentPrincipal): lock on CurrentThread, not typeof (Thread) and set
155         the thread IPrincipal if we get it from the AppDomain.
156
157 2004-06-09  Gert Driesen <drieseng@users.sourceforge.net>
158
159         * CompressedStack.cs: Added finalizer to match public API of
160         MS.NET
161
162 2004-05-19  Lluis Sanchez Gual <lluis@ximian.com>
163
164         * Thread.cs: Some fixes in Abort. Implemented Suspend and Resume.
165           Added internal interruption_requested field.
166
167 2004-05-13  Sebastien Pouliot  <sebastien@ximian.com>
168
169         * CompressedStack.cs: Added an internal constructor so a default one
170         doesn't appear with corcompare.
171         * Thread.cs: Added missing MemoryBarrier (only for 1.1) and SpinWait to please
172         corcompare. Both throw a NotImplementedException.
173         * ThreadPool.cs: Added missing UnsafeRegisterWaitForSingleObject methods (4
174         overloads) to please corcompare. All throw a NotImplementedException.
175
176 2004-05-12  Zoltan Varga  <vargaz@freemail.hu>
177
178         * CompressedStack.cs: New file.
179
180 2004-04-15  Lluis Sanchez Gual <lluis@ximian.com>
181
182         * ThreadPool.cs: Added GetMinThreads and SetMinThreads.
183         * Timer.cs: In Change, return false if the timer has been disposed.
184         In Dispose, notify the WaitHandle.
185
186 2004-04-11  Lluis Sanchez Gual <lluis@ximian.com>
187
188         * ReaderWriterLock.cs: More fixes: never wait where acquiring a reader lock
189           if the thread already has the lock. Added readyWaitingReaders variable to
190           keep track of threads ready to get the reader lock.
191
192 2004-04-11  Lluis Sanchez Gual <lluis@ximian.com>
193
194         * LockQueue.cs: Moved lockCount change inside the rwlock lock. Removed
195           lock(this) when entering the rwlock to avoid a deadlock.
196         * ReaderWriterLock.cs: In AcquireWriterLock, queue the thread if the queue
197           is not empty (even if state==0).
198
199 2004-04-09  Zoltan Varga  <vargaz@freemail.hu>
200
201         * Timer.cs: Call the callback immediately if dueTime is 0. Fixes
202         #56728.
203
204 2004-04-08  Jackson Harper  <jackson@ximian.com>
205
206         * ReaderWriterLock.cs: Fix tyop
207         
208 2004-04-08  Lluis Sanchez Gual <lluis@ximian.com>
209
210         * ReaderWriterLock.cs: Changed some methods to private.
211         * WaitHandle.cs: In Wait methods, release the synchronization context when 
212           exitContext is true.
213
214 2004-04-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
215
216         * Timer.cs: call Abort on the Runner instance too.
217
218 2004-04-07  Jackson Harper  <jackson@ximian.com>
219
220         * Thread.cs: Use new culture info method for constructing the
221         current culture.
222         
223 2004-04-07  Lluis Sanchez Gual <lluis@ximian.com>
224
225         * ReaderWriterLock.cs: When a thread holds a writer lock, a call to
226           AcquireReaderLock works like a call to AcquireWriterLock.
227
228 2004-04-06  Lluis Sanchez Gual <lluis@ximian.com>
229
230         * Monitor.cs: In Wait(), release the synchronization context when 
231           exitContext is true.
232
233 2004-04-06  Lluis Sanchez Gual <lluis@ximian.com>
234
235         * LockCookie.cs: Keep in this class the count of reader or writer locks
236           for a thread, not only whether it has locks or not.
237         * LockQueue.cs: Added property for checking if a thread is waiting in
238           the queue. Wait now returns a boolean that set to false on timeout 
239           expiration.
240         * ReaderWriterLock.cs: Started fixing bugs but I had to rewrite a lot of it.
241           The main change is that now it keeps a reader lock count for each
242           thread. This is needed since methods like ReleaseLock or 
243           UpgradeToWriterLock need to return a per-thread status in LockCookie.
244           Also added support for recursive writer-lock requests.
245
246 2004-03-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
247
248         * ThreadAbortException.cs: use same HResult as MS.
249         * Timer.cs: abort the running thread when disposing the Timer. This
250         fixes NullRefs when finishing xsp.
251
252 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
253
254         * NativeOverlapped.cs: added 2 new internal fields.
255         * Overlapped.cs: implemented, but it's not used.
256
257         * ThreadPool.cs: implemented BindHandle.
258
259 2004-03-08  Zoltan Varga  <vargaz@freemail.hu>
260
261         * Timer.cs (Dispose): Applied patch from Jaroslaw Kowalski 
262         (jaak@zd.com.pl). Fix finalization problems during appdomain unload.
263
264 2004-02-23  Jackson Harper <jackson@ximian.com>
265
266         * LockCookie.cs: Add some fields for restoring locks.
267         * ReaderWriterLock.cs: Implement
268         * LockQueue.cs: New File - used for queueing thread locks in
269         ReaderWriterLock.
270         
271 2004-02-19  Jackson Harper <jackson@ximian.com>
272
273         * Monitor.cs: Fix spelleng.
274         
275 2004-02-09  Zoltan Varga  <vargaz@freemail.hu>
276
277         * Thread.cs: Add fields added to unmanaged MonoThread here as well.
278         Fixes random errors caused by memory corruption.
279
280 2004-02-06  Zoltan Varga  <vargaz@freemail.hu>
281
282         * Thread.cs: Store the thread name in unmanaged memory, since the
283         thread object is shared between appdomains.
284
285 2004-02-05  Sebastien Pouliot  <sebastien@ximian.com>
286
287         * Thread.cs: Implemented CurrentPrincipal.
288
289 2004-01-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
290
291         * Thread.cs: delayed thread creation until Start is called. If we
292         don't do that and Start() is not called, the thread is leaked. First
293         step towards fixing bug #53078. 
294
295 2003-12-02  Dick Porter  <dick@ximian.com>
296
297         * Thread.cs: Throw InvalidOperationException if Thread.Name is
298         already set.
299
300 2003-12-01  Dick Porter  <dick@ximian.com>
301
302         * Thread.cs: Implement CurrentCulture and CurrentUICulture
303
304 2003-11-12  Miguel de Icaza  <miguel@ximian.com>
305
306         * Thread.cs: Add new VolatileRead/VolatileWrite methods from 1.1
307
308 2003-10-23  Lluis Sanchez Gual  <lluis@ximian.com>
309
310         * Thread.cs: Added ResetDataStoreStatus and RestoreDataStoreStatus
311           methods. They are used in CrossAppDomainChannel to save and restore
312           thread's local data when switching between domains.
313
314 2003-10-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
315
316         * ManualResetEvent.cs: added check for disposed.
317         * Thread.cs: no need to init this field.
318
319 2003-10-01  Zoltan Varga  <vargaz@freemail.hu>
320
321         * Thread.cs: Add locking to AllocateNamedDataSlot and 
322         FreeNamedDataSlot.
323
324 Wed Aug 20 12:01:36 CEST 2003 Paolo Molaro <lupus@ximian.com>
325
326         * Thread.cs: put all the fields at the start and add
327         more fields needed by the runtime.
328
329 2003-08-14  Lluis Sanchez Gual  <lluis@ximian.com>
330
331         * Thread.cs: SetData() method: use Hashtable.Contains to check
332           if a dataslot has been allocated (value could be null).
333
334 2003-07-23  Duncan Mak  <duncan@ximian.com>
335
336         * WaitHandle.cs (CheckDisposed): This method is not in the public
337         API, mark it as 'internal'.
338
339 2003-07-01  Dick Porter  <dick@ximian.com>
340
341         * Thread.cs: Throw an exception if thread creation failed.
342         (Better than just blowing up later.)
343
344 2003-06-27  Dietmar Maurer  <dietmar@ximian.com>
345
346         * ThreadPool.cs: use async delegate invoke.
347
348 2003-06-25  Dick Porter  <dick@ximian.com>
349
350         * WaitHandle.cs: Default handle value should be InvalidHandle, not
351         Zero.
352
353 2003-06-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
354
355         * ThreadPool.cs: correctly create a TimeSpan with provided the number of
356         milliseconds.
357
358         * WaitHandle.cs: fixes for WaitAny/All and TimeSpan.
359
360 2003-06-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
361
362         * WaitHandle.cs: checks and exceptions.
363
364 2003-06-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
365
366         * NativeEventCalls.cs: added CloseEvent_intenal.
367         * WaitHandle.cs: call CloseEvent_internal when disposing.
368
369 2003-05-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
370
371         * RegisteredWaitHandle.cs: check that the callback is not null before
372         invoking.
373
374         * ThreadPool.cs: fixed timeout -> TimeSpan conversions (closes bug
375         #43963). Queue the item before setting the handle. If there's a timeout,
376         avoid trying to Dequeue, getting the exception et al, just continue the
377         loop.
378
379 Mon May 19 09:07:45 CEST 2003 Paolo Molaro <lupus@ximian.com>
380
381         * Monitor.cs: removed test_owner, the check is already done in the
382         icall.
383
384 Tue May 13 15:34:29 CEST 2003 Paolo Molaro <lupus@ximian.com>
385
386         * Thread.cs: added missing field used by the runtime and
387         a new field to support thread-static data.
388
389 2003-04-17  Pedro Mart�ez Juli� <yoros@wanadoo.es>
390
391         * Timer.cs: Change the position of two lines because they were
392         before the "if" that ensures the integrity. After this, the first of
393         that two lines was producing a NullReferenceException.
394
395 2003-04-09  Dick Porter  <dick@ximian.com>
396
397         * Thread.cs: Make sure a reference to the ThreadStart delegate is
398         held.  There's no telling how long it will be before
399         Thread.Start() is called, and GC might destroy the delegate.
400         Thread() and Start() need to be rewritten so that the runtime
401         creates the new thread when Start() is called, which will simplify
402         the code a great deal.
403
404 2003-03-20  Miguel de Icaza  <miguel@ximian.com>
405
406         * Thread.cs (CurrentCuluture): use the invaraint culture instead
407         of "" for the current_culture setting.
408
409 2003-03-25  Zoltan Varga  <vargaz@freemail.hu>
410
411         * Thread.cs: Fix visibility of ResetAbort().
412
413 2003-03-18  Dick Porter  <dick@ximian.com>
414
415         * Thread.cs: Keep the thread state updated in all the places that
416         require it.  (Suspend, Resume and Interrupt not handled yet)
417
418 2003-03-03  Lluis Sanchez Gual <lluis@ideary.com>
419
420         * Thread.cs: Changed implementation of CurrentContext, adapted to the changes
421           in the runtime.
422
423 2003-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
424
425         * Thread.cs: implemented CurrentContext.
426
427 2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
428
429         * Thread.cs: made the thread_id for the current thread accesible through
430         an internal property.  
431
432 2003-02-17  Dick Porter  <dick@ximian.com>
433
434         * Thread.cs: Added the Start semaphore field to the class.  Update
435         the thread state after Start() has returned, not before.
436
437 2003-02-13  Zoltan Varga  <vargaz@freemail.hu>
438
439         * Thread.cs (Sleep): Timeout.Infinite is a value argument.
440
441 2003-02-11  Dick Porter  <dick@ximian.com>
442
443         * Monitor.cs: Infinite wait is Infinite, not 0 ms
444
445 2003-02-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
446
447         * Thread.cs: fixed bug #37759.
448
449 2003-02-07  Patrik Torstensson
450
451         * Timer.cs: Set the Background thread flag for the timer thread
452
453 2003-02-05  Patrik Torstensson
454
455         * ThreadPool.cs: Reformated and fixed issue that made all thread exit the pool. 
456
457 2003-02-04  Lluis Sanchez Gual <lluis@ideary.com>
458
459         * ThreadPool.cs: Implemented RegisterWaitForSingleObject methods.
460
461 Tue Jan 28 17:55:59 CET 2003 Paolo Molaro <lupus@ximian.com>
462
463         * Thread.cs: delay-init datastorehash.
464
465 2003-01-10  Patrik Torstensson  <totte@race-x-change.com>
466
467         * ThreadPool.cs: Temporary removed the usage of monitor thread, implemented a 
468                     model more equal to the MS one.
469
470 2002-12-10  Dick Porter  <dick@ximian.com>
471
472         * Monitor.cs:
473         * Thread.cs:
474         * ThreadPool.cs:
475         * Timer.cs:
476         * WaitHandle.cs: Use TotalMilliseconds to convert a TimeSpan to
477         ms, not Milliseconds.
478
479 2002-12-07  Martin Baulig  <martin@ximian.com>
480
481         * Timer.cs: Make it actually work; now it no longer sets your
482         application on fire if you use a zero periode and Timer.Change()
483         actually works.
484
485 2002-11-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
486
487         * Timer.cs: implemented more stuff. It works now.
488
489 2002-10-25  Zoltan Varga  <vargaz@freemail.hu>
490
491         * Thread.cs: Implement GetDomain() and GetDomainID().
492
493 2002-10-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
494
495         * ThreadPool.cs: now the monitor thread is not sleeping and checking if
496         more worker threads needed. It waits on _DataInQueue. If (and only if)
497         there's data in the queue it checks if more worker threads needed and
498         then sleeps 0.5s before waiting for queued data again.
499
500 2002-09-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
501
502         * ThreadPool.cs: set IsThreadPoolThread before starting the worker.
503
504 2002-09-11  Dick Porter  <dick@ximian.com>
505
506         * Mutex.cs: 
507         * ManualResetEvent.cs: 
508         * AutoResetEvent.cs: Use the WaitHandle.Handle property instead of
509         the private field
510
511         * WaitHandle.cs: Hide the os_handle field and the WaitOne_internal
512         method
513
514 2002-09-03  Dick Porter  <dick@ximian.com>
515
516         * Thread.cs: Added thread ID field
517
518 2002-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
519
520         * WaitHandle.cs: IDisposable fixes.
521
522 2002-08-14  Dick Porter  <dick@ximian.com>
523
524         * Thread.cs: Make CurrentUICulture act the same as CurrentCulture
525         for now.
526
527 2002-08-12  Dietmar Maurer  <dietmar@ximian.com>
528
529         * ThreadAbortException.cs: impl. ExceptionState property.
530
531         * Thread.cs: moved all instance variables to the start of the
532         class. added support for Thread::Abort()
533
534 2002-04-30  Dick Porter  <dick@ximian.com>
535
536         * Thread.cs: If LocalDataStoreSlot already has data set, remove it
537         before adding a new one.
538
539         Use the Thread object destructor to tell the runtime to close the
540         thread handle.
541
542 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
543
544         * Interlocked.cs: made all methods icalls.
545
546 2002-04-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
547
548         * IOCompletionCallback.cs: added attributes to the delegate
549         (CLSCompliant(false) and Serializable).
550
551 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
552         * Thread.cs: Fixed IsThreadPoolThread to use a internal property instead of extending 
553                                  the threadstate enum.
554         * ThreadPool.cs: Now using the internal Isthreadpoolthread property
555         * ThreadState.cs: removed non-standard enum (ThreadPoolThread)
556
557 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
558
559         * ThreadState.cs: Added enum for threadpool thread
560         * Thread.cs: changed the set/clr_state to be internal (used from threadpool)
561         * Thread.cs: Added IsThreadPoolThread
562         * ThreadPool.cs: Implementation of QueueUserWorkItem
563
564 Wed Feb 13 21:51:30 CET 2002 Paolo Molaro <lupus@ximian.com>
565
566         * Thread.cs: implement CurrentCulture property needed by
567         Convert.ChangeType() (used when compiling enums).
568
569 2002-01-23  Dick Porter  <dick@ximian.com>
570
571         * ManualResetEvent.cs: 
572         * AutoResetEvent.cs: Fixed DOS line endings
573
574 2002-01-22  Veronica De Santis <veron78@interfree.it>   
575         
576         * NativeEventCalls : Class that contains internal calls shared by Auto 
577                              and Manual Reset Events
578         * AutoResetEvents.cs : Added class AutoResetEvents and its implementation
579         * ManualResetEvents.cs : Added class ManualResetEvents and its implementation
580
581 2002-01-16  Veronica De Santis <veron78@interfree.it>   
582         
583         * WaitHandle.cs : Renamed handle to os_handle and make it protected
584                           instead of private.
585         * Mutex.cs : Write the System.Threading.Mutex methods ( constructors 
586                      and the ReleaseMutex)
587
588 2002-01-15  Dick Porter  <dick@ximian.com>
589
590         * WaitHandle.cs:
591         * Thread.cs: Make the runtime's idea of infinite timeouts coincide
592         with the class library's
593
594 2002-01-10  Dick Porter  <dick@ximian.com>
595
596         * WaitHandle.cs: Added checks for too many handles and null
597         handles in WaitAll() and WaitAny
598         
599
600 2002-01-05  Ravi Pratap  <ravi@ximian.com>
601
602         * AutoResetEvent.cs, ManualResetEvent.cs, Monitor.cs : MonoTODO
603         decoration.
604
605         * Mutex.cs, Overlapped.cs, ReaderWriterLock.cs, RegisteredWaitHandle.cs,
606         Thread.cs, ThreadAbortException.cs, ThreadPool.cs, Timer.cs, WaitHandler.cs : Ditto.
607
608 2001-12-11  Dick Porter  <dick@ximian.com>
609
610         * WaitHandle.cs: Implemented WaitAll(), WaitAny() and WaitOne() as
611         internal calls.
612
613 2001-11-26  Dick Porter  <dick@ximian.com>
614
615         * Thread.cs: DataSlot uses a single system TLS slot, and a
616         hashtable per thread.  Some minor changes to reflect the new
617         internal calls using the new IO library, and the newly-supported
618         bool returns from internal calls.
619
620         * Monitor.cs: Use bool returns from internal calls now they are
621         supported by the runtime.  Coalesce enter with the try_enter
622         internal call.
623
624 Wed Nov 14 17:06:18 CET 2001 Paolo Molaro <lupus@ximian.com>
625
626         * Overlapped.cs, ThreadPool.cs, Timer.cs: CLSCompliant updates.
627
628 2001-10-03  Dick Porter  <dick@ximian.com>
629
630         * Monitor.cs: Implemented all methods except the two Wait()
631         methods that take boolean parameters
632
633 2001-09-28  Dick Porter  <dick@ximian.com>
634
635         * Thread.cs: Implemented AllocateDataSlot(),
636         AllocateNamedDataSlot(), FreeNamedDataSlot(), GetData(),
637         GetNamedDataSlot(), SetData(), IsBackground.  Reworked Thread()
638         and Start() to avoid a race condition. Added thread-safe state
639         changing private operations.
640
641         * Monitor.cs: Comment out the GetType() calls because it isn't implemented yet
642
643 2001-09-25  Dick Porter  <dick@ximian.com>
644
645         * Thread.cs: Implement Join and timed Join, set correct state
646         around Start, Join and Sleep calls, implement IsAlive and
647         ThreadState properties.
648
649         * ThreadState.cs (Threading): Added StopRequested,
650         SuspendRequested, Suspended values
651
652 2001-09-23  Dick Porter  <dick@ximian.com>
653
654         * Thread.cs: Implemented CurrentThread and Sleep (both versions)
655         with internal calls, and Name.
656
657 2001-09-21  Dick Porter  <dick@ximian.com>
658
659         * Thread.cs: Implement Thread(ThreadStart) constructor and Start()
660         with an internal call
661
662         * WaitHandle.cs: Close calls Dispose(false)
663
664 2001-09-13  Dick Porter  <dick@ximian.com>
665
666         * ApartmentState.cs (Threading): Set the correct enum values
667
668 2001-09-13  Dick Porter  <dick@ximian.com>
669
670         * ApartmentState.cs, AutoResetEvent.cs, IOCompletionCallback.cs,
671         Interlocked.cs, LockCookie.cs, ManualResetEvent.cs, Monitor.cs,
672         Mutex.cs, NativeOverlapped.cs, Overlapped.cs, ReaderWriterLock.cs,
673         RegisteredWaitHandle.cs, SynchronizationLockException.cs,
674         Thread.cs, ThreadAbortException.cs, ThreadInterruptedException.cs,
675         ThreadPool.cs, ThreadStart.cs, ThreadStateException.cs,
676         Timeout.cs, Timer.cs, TimerCallback.cs, WaitCallback.cs,
677         WaitHandle.cs, WaitOrTimerCallback.cs: System.Threading class
678         stubs.
679         
680 2001-07-18  Michael Lambert <michaellambert@email.com>
681
682         * ThreadPriority.cs, ThreadState.cs: Add.