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