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