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