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