1 2005-05-12 Lluis Sanchez Gual <lluis@novell.com>
3 * Thread.cs: Moved all checks done inside sync_lock to unmanaged code.
4 Merged Thread_internal and Start_internal into a single icall, which
7 2005-05-11 Sebastien Pouliot <sebastien@ximian.com>
9 * CompressedStack.cs: Allow merging of an existing CompressedStack
10 with the actual stack of the current Thread.
11 * Thread.cs: GetCompressedStack and SetCompressedStack are public
12 before 2.0 but couldn't be seen with mono-api-info because of it's
13 LinkDemand for the ECMA public key. Removed unused CompressedStack
14 private field (now part of the ExecutionContext).
16 2005-05-09 Sebastien Pouliot <sebastien@ximian.com>
18 * CompressedStack.cs: GetCompressedStack is public before 2.0 but
19 couldn't be seen with mono-api-info because of it's LinkDemand for
20 the ECMA public key. Stack capture occurs here if none exists on the
23 2005-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
25 * ReaderWriterLock.cs: fix random ApplicationException errors. Tested
26 with the System.Web.Cache stress program. Patch by Eyal Alayuf
27 (Mainsoft). Fixes 74598.
29 2005-04-28 Sebastien Pouliot <sebastien@ximian.com>
31 * Thread.cs: Added property to get the ExecutionContext in 2.0. Fixed
32 GetCompressedStack and made SetCompressedStack available (as internal)
35 2005-04-28 Sebastien Pouliot <sebastien@ximian.com>
37 * AsyncFlowControl.cs: Updated wrt beta2.
38 * ExecutionContext.cs: Updated wrt beta2. Class is now internal in
39 NET_1_1 to allow the compressed stack propagation to other threads.
40 * CompressedStack.cs: Updated wrt beta2. Class is internal in NET_1_1
41 to allow the compressed stack propagation to other threads.
42 * ContextCallback.cs: Updated wrt beta2.
43 * HostExecutionContext.cs: Updated wrt beta2.
44 * HostExecutionContextManager.cs: Updated wrt beta2.
45 * Thread.cs: Added internal property to get the ExecutionContext.
47 2005-04-19 Zoltan Varga <vargaz@freemail.hu>
49 * Thread.cs: Add some unused fields.
51 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
53 * ThreadPool.cs: BindHandle does nothing now.
55 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
57 * Thread.cs: clear the Unstarted bit before calling Start_internal.
60 2005-04-04 Ben Maurer <bmaurer@ximian.com>
62 * Thread.cs: Do argument checking for Current[UI]Culture to make
63 the exception more clear for a null value being set.
65 2005-03-24 Sebastien Pouliot <sebastien@ximian.com>
67 * CompressedStack.cs: Added LinkDemand for UnmanagedCode and ECMA
68 public key on GetCompressedStack method.
69 * Mutex: Added LinkDemand for UnmanagedCode to create named (system
71 * Thread.cs: Added LinkDemand for ECMA public key on [Get|Set]
72 CompressedStack methods.
73 * WaitHandle.cs: Added LinkDemand and InheritanceDemand for
74 UnmanagedCode on set Handle property.
76 2005-03-10 Zoltan Varga <vargaz@freemail.hu>
78 * Thread.cs: Make slothash a ThreadStatic field. Fixes #65414.
80 2005-02-21 Zoltan Varga <vargaz@freemail.hu>
82 * Monitor.cs Interlocked.cs: Add net 2.0 ReliabilityContractAttributes.
84 2005-02-20 Zoltan Varga <vargaz@freemail.hu>
86 * Interlocked.cs: Applied patch from Luca Barbieri (luca.barbieri@gmail.com). Add NET 2.0 methods.
88 Tue Feb 15 18:19:11 CET 2005 Paolo Molaro <lupus@ximian.com>
90 * Thread.cs: make the slothash a field in MonoThread.
92 2005-01-27 Sebastien Pouliot <sebastien@ximian.com>
94 * Overlapped.cs: Added check for ControlPolicy and ControlEvidence for
95 Unsafe pack. Added MonoTODO for missing security stack propagation.
96 * Thread.cs: Add security checks for ControlThread.
97 * ThreadPool.cs: Added declarative security checks.
99 Thu Jan 13 18:15:32 CET 2005 Paolo Molaro <lupus@ximian.com>
101 * Thread.cs: implement stacksize and parameterized
102 start functionality (requires matching runtime).
104 2005-01-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
106 * ThreadAbortException.cs: added private serialization .ctor.
108 2004-12-20 Sebastien Pouliot <sebastien@ximian.com>
110 * CompressedStack.cs: Implemented most todo so it's usable for CAS.
111 * CompressedStackSwitcher.cs: Implemented most todo.
112 * Thread.cs: Implement support for getting/setting CompressedStack.
114 2004-12-15 Zoltan Varga <vargaz@freemail.hu>
116 * Thread.cs: Change type of culture_info and ui_culture_info to
117 IntPtr. Implement correct culture handling for the UI culture as
120 2004-12-14 Zoltan Varga <vargaz@freemail.hu>
122 * Thread.cs: Optimize CurrentCulture to avoid initializing the
123 serialization infrastructure in the common case when the culture is
126 2004-12-06 Zoltan Varga <vargaz@freemail.hu>
128 * Thread.cs: Add new fields 'serialized_culture_info{_len}'.
130 * Thread.cs (CurrentCulture): Fix leaking of culture info objects
131 across appdomains. Partially fixes #50049.
133 2004-12-05 Miguel de Icaza <miguel@ximian.com>
135 * AutoResetEvent.cs (Set, Reset): If we are disposed, throw a
136 ObjectDisposedEvent, helped track the WebConnection destructor
139 2004-09-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
141 * Timer.cs: don't invoke the callback twice when the timer changes.
144 2004-09-08 Marek Safar <marek.safar@seznam.cz>
146 * Interlocked.cs: Class is static in NET_2_0.
148 2004-09-04 Sebastien Pouliot <sebastien@ximian.com>
150 * Thread.cs: Changed an imperative security demand to declarative
151 (unsupported) so it doesn't (for now) call the security runtime.
153 2004-08-20 Sebastien Pouliot <sebastien@ximian.com>
155 * Thread.cs: Added Fx 2.0 properties/methods/attributes.
157 2004-08-12 Sebastien Pouliot <sebastien@ximian.com>
159 * CompressedStackSwitcher.cs: Added missing [ComVisible] and
160 [ReliabilityContract] attributes.
161 * ExecutionContext.cs: Added missing [ComVisible] and
162 [Serializable] attributes.
163 * HostExecutionContext.cs: Added missing [ComVisible] attribute.
164 * HostExecutionContextManager.cs: Added missing [ComVisible] and
165 [ReliabilityContract] attributes.
166 * HostExecutionContextSwitcher.cs: Added missing Equals and
167 GetHashCode methods and [ComVisible] and [ReliabilityContract] attrs.
168 * ParameterizedThreadStart.cs: New delegate in NET_2_0.
169 * SendOrPostCallback.cs: Added missing [ComVisible] attribute.
170 * SynchronizationContext.cs: Added new (2.0 beta1) methods Copy and
171 WaitHelper. Added missing [ComVisible] and [ReliabilityContract] attrs.
172 * SynchronizationContextSwitcher.cs: Added missing [ComVisible] and
173 [ReliabilityContract] attributes.
175 2004-08-08 Sebastien Pouliot <sebastien@ximian.com>
177 * HostExecutionContext.cs: Fx 2.0 stub required for AppDomain.
178 * HostExecutionContextManager.cs: Fx 2.0 stub required for AppDomain.
179 * HostExecutionContextSwitcher.cs: Fx 2.0 stub required for AppDomain.
181 2004-08-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
183 * Timer.cs: don't invoke the callback if the period changes before the
184 due time. Fixes bug #62421.
186 2004-07-27 Lluis Sanchez Gual <lluis@novell.com>
188 * ExecutionContext.cs, ExecutionContextSwitcher.cs,
189 SynchronizationContext.cs, SynchronizationContextSwitcher.cs: Added
192 2004-07-15 Dick Porter <dick@ximian.com>
194 * Thread.cs: Hold a lock in GetNamedDataSlot. Fixes bug 61582,
195 based on patch by Sbastien Robitaille
196 (sebastien.robitaille@croesus.com). Also fix instances of
197 lock(typeof(Thread)) to lock a private object instead.
199 2004-07-14 Sebastien Pouliot <sebastien@ximian.com>
201 * AsyncFlowControl.cs: New structure in Fx 2.0 required in
202 System.Security namespace.
203 * CompressedStackSwitcher.cs: New structure in Fx 2.0 required in
204 System.Security namespace.
205 * ContextCallback.cs: New delegate in Fx 2.0 required in
206 System.Security namespace.
207 * CompressedStack.cs: Updated API for NET_2_0 profile.
209 2004-07-10 Lluis Sanchez Gual <lluis@ximian.com>
211 * SendOrPostCallback.cs: New delegate.
213 2004-06-24 Dick Porter <dick@ximian.com>
215 * Mutex.cs: Implement the createdNew parameter
217 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
219 * Thread.cs: changed return type of VolatileRead to UIntPtr
220 * ThreadPool.cs: set return type of SetMinThreads to bool
222 2004-06-15 Lluis Sanchez Gual <lluis@ximian.com>
224 * Thread.cs: Added new fields to keep sync with MonoThread.
225 Removed state changes in Sleep and Join. The state change is now done
226 in the icall. For accessing to internal fields lock with synch_lock
227 instead of this, which can be a source of deadlocks.
229 2004-06-15 Lluis Sanchez Gual <lluis@ximian.com>
231 * Timer.cs: Don't abort the thread if Dispose() is called from the runner
234 2004-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
237 (CurrentPrincipal): lock on CurrentThread, not typeof (Thread) and set
238 the thread IPrincipal if we get it from the AppDomain.
240 2004-06-09 Gert Driesen <drieseng@users.sourceforge.net>
242 * CompressedStack.cs: Added finalizer to match public API of
245 2004-05-19 Lluis Sanchez Gual <lluis@ximian.com>
247 * Thread.cs: Some fixes in Abort. Implemented Suspend and Resume.
248 Added internal interruption_requested field.
250 2004-05-13 Sebastien Pouliot <sebastien@ximian.com>
252 * CompressedStack.cs: Added an internal constructor so a default one
253 doesn't appear with corcompare.
254 * Thread.cs: Added missing MemoryBarrier (only for 1.1) and SpinWait to please
255 corcompare. Both throw a NotImplementedException.
256 * ThreadPool.cs: Added missing UnsafeRegisterWaitForSingleObject methods (4
257 overloads) to please corcompare. All throw a NotImplementedException.
259 2004-05-12 Zoltan Varga <vargaz@freemail.hu>
261 * CompressedStack.cs: New file.
263 2004-04-15 Lluis Sanchez Gual <lluis@ximian.com>
265 * ThreadPool.cs: Added GetMinThreads and SetMinThreads.
266 * Timer.cs: In Change, return false if the timer has been disposed.
267 In Dispose, notify the WaitHandle.
269 2004-04-11 Lluis Sanchez Gual <lluis@ximian.com>
271 * ReaderWriterLock.cs: More fixes: never wait where acquiring a reader lock
272 if the thread already has the lock. Added readyWaitingReaders variable to
273 keep track of threads ready to get the reader lock.
275 2004-04-11 Lluis Sanchez Gual <lluis@ximian.com>
277 * LockQueue.cs: Moved lockCount change inside the rwlock lock. Removed
278 lock(this) when entering the rwlock to avoid a deadlock.
279 * ReaderWriterLock.cs: In AcquireWriterLock, queue the thread if the queue
280 is not empty (even if state==0).
282 2004-04-09 Zoltan Varga <vargaz@freemail.hu>
284 * Timer.cs: Call the callback immediately if dueTime is 0. Fixes
287 2004-04-08 Jackson Harper <jackson@ximian.com>
289 * ReaderWriterLock.cs: Fix tyop
291 2004-04-08 Lluis Sanchez Gual <lluis@ximian.com>
293 * ReaderWriterLock.cs: Changed some methods to private.
294 * WaitHandle.cs: In Wait methods, release the synchronization context when
297 2004-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
299 * Timer.cs: call Abort on the Runner instance too.
301 2004-04-07 Jackson Harper <jackson@ximian.com>
303 * Thread.cs: Use new culture info method for constructing the
306 2004-04-07 Lluis Sanchez Gual <lluis@ximian.com>
308 * ReaderWriterLock.cs: When a thread holds a writer lock, a call to
309 AcquireReaderLock works like a call to AcquireWriterLock.
311 2004-04-06 Lluis Sanchez Gual <lluis@ximian.com>
313 * Monitor.cs: In Wait(), release the synchronization context when
316 2004-04-06 Lluis Sanchez Gual <lluis@ximian.com>
318 * LockCookie.cs: Keep in this class the count of reader or writer locks
319 for a thread, not only whether it has locks or not.
320 * LockQueue.cs: Added property for checking if a thread is waiting in
321 the queue. Wait now returns a boolean that set to false on timeout
323 * ReaderWriterLock.cs: Started fixing bugs but I had to rewrite a lot of it.
324 The main change is that now it keeps a reader lock count for each
325 thread. This is needed since methods like ReleaseLock or
326 UpgradeToWriterLock need to return a per-thread status in LockCookie.
327 Also added support for recursive writer-lock requests.
329 2004-03-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
331 * ThreadAbortException.cs: use same HResult as MS.
332 * Timer.cs: abort the running thread when disposing the Timer. This
333 fixes NullRefs when finishing xsp.
335 2004-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
337 * NativeOverlapped.cs: added 2 new internal fields.
338 * Overlapped.cs: implemented, but it's not used.
340 * ThreadPool.cs: implemented BindHandle.
342 2004-03-08 Zoltan Varga <vargaz@freemail.hu>
344 * Timer.cs (Dispose): Applied patch from Jaroslaw Kowalski
345 (jaak@zd.com.pl). Fix finalization problems during appdomain unload.
347 2004-02-23 Jackson Harper <jackson@ximian.com>
349 * LockCookie.cs: Add some fields for restoring locks.
350 * ReaderWriterLock.cs: Implement
351 * LockQueue.cs: New File - used for queueing thread locks in
354 2004-02-19 Jackson Harper <jackson@ximian.com>
356 * Monitor.cs: Fix spelleng.
358 2004-02-09 Zoltan Varga <vargaz@freemail.hu>
360 * Thread.cs: Add fields added to unmanaged MonoThread here as well.
361 Fixes random errors caused by memory corruption.
363 2004-02-06 Zoltan Varga <vargaz@freemail.hu>
365 * Thread.cs: Store the thread name in unmanaged memory, since the
366 thread object is shared between appdomains.
368 2004-02-05 Sebastien Pouliot <sebastien@ximian.com>
370 * Thread.cs: Implemented CurrentPrincipal.
372 2004-01-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
374 * Thread.cs: delayed thread creation until Start is called. If we
375 don't do that and Start() is not called, the thread is leaked. First
376 step towards fixing bug #53078.
378 2003-12-02 Dick Porter <dick@ximian.com>
380 * Thread.cs: Throw InvalidOperationException if Thread.Name is
383 2003-12-01 Dick Porter <dick@ximian.com>
385 * Thread.cs: Implement CurrentCulture and CurrentUICulture
387 2003-11-12 Miguel de Icaza <miguel@ximian.com>
389 * Thread.cs: Add new VolatileRead/VolatileWrite methods from 1.1
391 2003-10-23 Lluis Sanchez Gual <lluis@ximian.com>
393 * Thread.cs: Added ResetDataStoreStatus and RestoreDataStoreStatus
394 methods. They are used in CrossAppDomainChannel to save and restore
395 thread's local data when switching between domains.
397 2003-10-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
399 * ManualResetEvent.cs: added check for disposed.
400 * Thread.cs: no need to init this field.
402 2003-10-01 Zoltan Varga <vargaz@freemail.hu>
404 * Thread.cs: Add locking to AllocateNamedDataSlot and
407 Wed Aug 20 12:01:36 CEST 2003 Paolo Molaro <lupus@ximian.com>
409 * Thread.cs: put all the fields at the start and add
410 more fields needed by the runtime.
412 2003-08-14 Lluis Sanchez Gual <lluis@ximian.com>
414 * Thread.cs: SetData() method: use Hashtable.Contains to check
415 if a dataslot has been allocated (value could be null).
417 2003-07-23 Duncan Mak <duncan@ximian.com>
419 * WaitHandle.cs (CheckDisposed): This method is not in the public
420 API, mark it as 'internal'.
422 2003-07-01 Dick Porter <dick@ximian.com>
424 * Thread.cs: Throw an exception if thread creation failed.
425 (Better than just blowing up later.)
427 2003-06-27 Dietmar Maurer <dietmar@ximian.com>
429 * ThreadPool.cs: use async delegate invoke.
431 2003-06-25 Dick Porter <dick@ximian.com>
433 * WaitHandle.cs: Default handle value should be InvalidHandle, not
436 2003-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
438 * ThreadPool.cs: correctly create a TimeSpan with provided the number of
441 * WaitHandle.cs: fixes for WaitAny/All and TimeSpan.
443 2003-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
445 * WaitHandle.cs: checks and exceptions.
447 2003-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
449 * NativeEventCalls.cs: added CloseEvent_intenal.
450 * WaitHandle.cs: call CloseEvent_internal when disposing.
452 2003-05-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
454 * RegisteredWaitHandle.cs: check that the callback is not null before
457 * ThreadPool.cs: fixed timeout -> TimeSpan conversions (closes bug
458 #43963). Queue the item before setting the handle. If there's a timeout,
459 avoid trying to Dequeue, getting the exception et al, just continue the
462 Mon May 19 09:07:45 CEST 2003 Paolo Molaro <lupus@ximian.com>
464 * Monitor.cs: removed test_owner, the check is already done in the
467 Tue May 13 15:34:29 CEST 2003 Paolo Molaro <lupus@ximian.com>
469 * Thread.cs: added missing field used by the runtime and
470 a new field to support thread-static data.
472 2003-04-17 Pedro Mart�ez Juli� <yoros@wanadoo.es>
474 * Timer.cs: Change the position of two lines because they were
475 before the "if" that ensures the integrity. After this, the first of
476 that two lines was producing a NullReferenceException.
478 2003-04-09 Dick Porter <dick@ximian.com>
480 * Thread.cs: Make sure a reference to the ThreadStart delegate is
481 held. There's no telling how long it will be before
482 Thread.Start() is called, and GC might destroy the delegate.
483 Thread() and Start() need to be rewritten so that the runtime
484 creates the new thread when Start() is called, which will simplify
485 the code a great deal.
487 2003-03-20 Miguel de Icaza <miguel@ximian.com>
489 * Thread.cs (CurrentCuluture): use the invaraint culture instead
490 of "" for the current_culture setting.
492 2003-03-25 Zoltan Varga <vargaz@freemail.hu>
494 * Thread.cs: Fix visibility of ResetAbort().
496 2003-03-18 Dick Porter <dick@ximian.com>
498 * Thread.cs: Keep the thread state updated in all the places that
499 require it. (Suspend, Resume and Interrupt not handled yet)
501 2003-03-03 Lluis Sanchez Gual <lluis@ideary.com>
503 * Thread.cs: Changed implementation of CurrentContext, adapted to the changes
506 2003-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
508 * Thread.cs: implemented CurrentContext.
510 2003-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
512 * Thread.cs: made the thread_id for the current thread accesible through
513 an internal property.
515 2003-02-17 Dick Porter <dick@ximian.com>
517 * Thread.cs: Added the Start semaphore field to the class. Update
518 the thread state after Start() has returned, not before.
520 2003-02-13 Zoltan Varga <vargaz@freemail.hu>
522 * Thread.cs (Sleep): Timeout.Infinite is a value argument.
524 2003-02-11 Dick Porter <dick@ximian.com>
526 * Monitor.cs: Infinite wait is Infinite, not 0 ms
528 2003-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
530 * Thread.cs: fixed bug #37759.
532 2003-02-07 Patrik Torstensson
534 * Timer.cs: Set the Background thread flag for the timer thread
536 2003-02-05 Patrik Torstensson
538 * ThreadPool.cs: Reformated and fixed issue that made all thread exit the pool.
540 2003-02-04 Lluis Sanchez Gual <lluis@ideary.com>
542 * ThreadPool.cs: Implemented RegisterWaitForSingleObject methods.
544 Tue Jan 28 17:55:59 CET 2003 Paolo Molaro <lupus@ximian.com>
546 * Thread.cs: delay-init datastorehash.
548 2003-01-10 Patrik Torstensson <totte@race-x-change.com>
550 * ThreadPool.cs: Temporary removed the usage of monitor thread, implemented a
551 model more equal to the MS one.
553 2002-12-10 Dick Porter <dick@ximian.com>
559 * WaitHandle.cs: Use TotalMilliseconds to convert a TimeSpan to
560 ms, not Milliseconds.
562 2002-12-07 Martin Baulig <martin@ximian.com>
564 * Timer.cs: Make it actually work; now it no longer sets your
565 application on fire if you use a zero periode and Timer.Change()
568 2002-11-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
570 * Timer.cs: implemented more stuff. It works now.
572 2002-10-25 Zoltan Varga <vargaz@freemail.hu>
574 * Thread.cs: Implement GetDomain() and GetDomainID().
576 2002-10-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
578 * ThreadPool.cs: now the monitor thread is not sleeping and checking if
579 more worker threads needed. It waits on _DataInQueue. If (and only if)
580 there's data in the queue it checks if more worker threads needed and
581 then sleeps 0.5s before waiting for queued data again.
583 2002-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
585 * ThreadPool.cs: set IsThreadPoolThread before starting the worker.
587 2002-09-11 Dick Porter <dick@ximian.com>
590 * ManualResetEvent.cs:
591 * AutoResetEvent.cs: Use the WaitHandle.Handle property instead of
594 * WaitHandle.cs: Hide the os_handle field and the WaitOne_internal
597 2002-09-03 Dick Porter <dick@ximian.com>
599 * Thread.cs: Added thread ID field
601 2002-08-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
603 * WaitHandle.cs: IDisposable fixes.
605 2002-08-14 Dick Porter <dick@ximian.com>
607 * Thread.cs: Make CurrentUICulture act the same as CurrentCulture
610 2002-08-12 Dietmar Maurer <dietmar@ximian.com>
612 * ThreadAbortException.cs: impl. ExceptionState property.
614 * Thread.cs: moved all instance variables to the start of the
615 class. added support for Thread::Abort()
617 2002-04-30 Dick Porter <dick@ximian.com>
619 * Thread.cs: If LocalDataStoreSlot already has data set, remove it
620 before adding a new one.
622 Use the Thread object destructor to tell the runtime to close the
625 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
627 * Interlocked.cs: made all methods icalls.
629 2002-04-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
631 * IOCompletionCallback.cs: added attributes to the delegate
632 (CLSCompliant(false) and Serializable).
634 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
635 * Thread.cs: Fixed IsThreadPoolThread to use a internal property instead of extending
636 the threadstate enum.
637 * ThreadPool.cs: Now using the internal Isthreadpoolthread property
638 * ThreadState.cs: removed non-standard enum (ThreadPoolThread)
640 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
642 * ThreadState.cs: Added enum for threadpool thread
643 * Thread.cs: changed the set/clr_state to be internal (used from threadpool)
644 * Thread.cs: Added IsThreadPoolThread
645 * ThreadPool.cs: Implementation of QueueUserWorkItem
647 Wed Feb 13 21:51:30 CET 2002 Paolo Molaro <lupus@ximian.com>
649 * Thread.cs: implement CurrentCulture property needed by
650 Convert.ChangeType() (used when compiling enums).
652 2002-01-23 Dick Porter <dick@ximian.com>
654 * ManualResetEvent.cs:
655 * AutoResetEvent.cs: Fixed DOS line endings
657 2002-01-22 Veronica De Santis <veron78@interfree.it>
659 * NativeEventCalls : Class that contains internal calls shared by Auto
660 and Manual Reset Events
661 * AutoResetEvents.cs : Added class AutoResetEvents and its implementation
662 * ManualResetEvents.cs : Added class ManualResetEvents and its implementation
664 2002-01-16 Veronica De Santis <veron78@interfree.it>
666 * WaitHandle.cs : Renamed handle to os_handle and make it protected
668 * Mutex.cs : Write the System.Threading.Mutex methods ( constructors
669 and the ReleaseMutex)
671 2002-01-15 Dick Porter <dick@ximian.com>
674 * Thread.cs: Make the runtime's idea of infinite timeouts coincide
675 with the class library's
677 2002-01-10 Dick Porter <dick@ximian.com>
679 * WaitHandle.cs: Added checks for too many handles and null
680 handles in WaitAll() and WaitAny
683 2002-01-05 Ravi Pratap <ravi@ximian.com>
685 * AutoResetEvent.cs, ManualResetEvent.cs, Monitor.cs : MonoTODO
688 * Mutex.cs, Overlapped.cs, ReaderWriterLock.cs, RegisteredWaitHandle.cs,
689 Thread.cs, ThreadAbortException.cs, ThreadPool.cs, Timer.cs, WaitHandler.cs : Ditto.
691 2001-12-11 Dick Porter <dick@ximian.com>
693 * WaitHandle.cs: Implemented WaitAll(), WaitAny() and WaitOne() as
696 2001-11-26 Dick Porter <dick@ximian.com>
698 * Thread.cs: DataSlot uses a single system TLS slot, and a
699 hashtable per thread. Some minor changes to reflect the new
700 internal calls using the new IO library, and the newly-supported
701 bool returns from internal calls.
703 * Monitor.cs: Use bool returns from internal calls now they are
704 supported by the runtime. Coalesce enter with the try_enter
707 Wed Nov 14 17:06:18 CET 2001 Paolo Molaro <lupus@ximian.com>
709 * Overlapped.cs, ThreadPool.cs, Timer.cs: CLSCompliant updates.
711 2001-10-03 Dick Porter <dick@ximian.com>
713 * Monitor.cs: Implemented all methods except the two Wait()
714 methods that take boolean parameters
716 2001-09-28 Dick Porter <dick@ximian.com>
718 * Thread.cs: Implemented AllocateDataSlot(),
719 AllocateNamedDataSlot(), FreeNamedDataSlot(), GetData(),
720 GetNamedDataSlot(), SetData(), IsBackground. Reworked Thread()
721 and Start() to avoid a race condition. Added thread-safe state
722 changing private operations.
724 * Monitor.cs: Comment out the GetType() calls because it isn't implemented yet
726 2001-09-25 Dick Porter <dick@ximian.com>
728 * Thread.cs: Implement Join and timed Join, set correct state
729 around Start, Join and Sleep calls, implement IsAlive and
730 ThreadState properties.
732 * ThreadState.cs (Threading): Added StopRequested,
733 SuspendRequested, Suspended values
735 2001-09-23 Dick Porter <dick@ximian.com>
737 * Thread.cs: Implemented CurrentThread and Sleep (both versions)
738 with internal calls, and Name.
740 2001-09-21 Dick Porter <dick@ximian.com>
742 * Thread.cs: Implement Thread(ThreadStart) constructor and Start()
743 with an internal call
745 * WaitHandle.cs: Close calls Dispose(false)
747 2001-09-13 Dick Porter <dick@ximian.com>
749 * ApartmentState.cs (Threading): Set the correct enum values
751 2001-09-13 Dick Porter <dick@ximian.com>
753 * ApartmentState.cs, AutoResetEvent.cs, IOCompletionCallback.cs,
754 Interlocked.cs, LockCookie.cs, ManualResetEvent.cs, Monitor.cs,
755 Mutex.cs, NativeOverlapped.cs, Overlapped.cs, ReaderWriterLock.cs,
756 RegisteredWaitHandle.cs, SynchronizationLockException.cs,
757 Thread.cs, ThreadAbortException.cs, ThreadInterruptedException.cs,
758 ThreadPool.cs, ThreadStart.cs, ThreadStateException.cs,
759 Timeout.cs, Timer.cs, TimerCallback.cs, WaitCallback.cs,
760 WaitHandle.cs, WaitOrTimerCallback.cs: System.Threading class
763 2001-07-18 Michael Lambert <michaellambert@email.com>
765 * ThreadPriority.cs, ThreadState.cs: Add.