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