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