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