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