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