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