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