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