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