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