1 2005-05-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3 * Thread.cs: first check for null, then set in_currentculture.
5 2005-05-12 Lluis Sanchez Gual <lluis@novell.com>
7 * Thread.cs: Moved all checks done inside sync_lock to unmanaged code.
8 Merged Thread_internal and Start_internal into a single icall, which
11 2005-05-11 Sebastien Pouliot <sebastien@ximian.com>
13 * CompressedStack.cs: Allow merging of an existing CompressedStack
14 with the actual stack of the current Thread.
15 * Thread.cs: GetCompressedStack and SetCompressedStack are public
16 before 2.0 but couldn't be seen with mono-api-info because of it's
17 LinkDemand for the ECMA public key. Removed unused CompressedStack
18 private field (now part of the ExecutionContext).
20 2005-05-09 Sebastien Pouliot <sebastien@ximian.com>
22 * CompressedStack.cs: GetCompressedStack is public before 2.0 but
23 couldn't be seen with mono-api-info because of it's LinkDemand for
24 the ECMA public key. Stack capture occurs here if none exists on the
27 2005-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
29 * ReaderWriterLock.cs: fix random ApplicationException errors. Tested
30 with the System.Web.Cache stress program. Patch by Eyal Alayuf
31 (Mainsoft). Fixes 74598.
33 2005-04-28 Sebastien Pouliot <sebastien@ximian.com>
35 * Thread.cs: Added property to get the ExecutionContext in 2.0. Fixed
36 GetCompressedStack and made SetCompressedStack available (as internal)
39 2005-04-28 Sebastien Pouliot <sebastien@ximian.com>
41 * AsyncFlowControl.cs: Updated wrt beta2.
42 * ExecutionContext.cs: Updated wrt beta2. Class is now internal in
43 NET_1_1 to allow the compressed stack propagation to other threads.
44 * CompressedStack.cs: Updated wrt beta2. Class is internal in NET_1_1
45 to allow the compressed stack propagation to other threads.
46 * ContextCallback.cs: Updated wrt beta2.
47 * HostExecutionContext.cs: Updated wrt beta2.
48 * HostExecutionContextManager.cs: Updated wrt beta2.
49 * Thread.cs: Added internal property to get the ExecutionContext.
51 2005-04-19 Zoltan Varga <vargaz@freemail.hu>
53 * Thread.cs: Add some unused fields.
55 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
57 * ThreadPool.cs: BindHandle does nothing now.
59 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
61 * Thread.cs: clear the Unstarted bit before calling Start_internal.
64 2005-04-04 Ben Maurer <bmaurer@ximian.com>
66 * Thread.cs: Do argument checking for Current[UI]Culture to make
67 the exception more clear for a null value being set.
69 2005-03-24 Sebastien Pouliot <sebastien@ximian.com>
71 * CompressedStack.cs: Added LinkDemand for UnmanagedCode and ECMA
72 public key on GetCompressedStack method.
73 * Mutex: Added LinkDemand for UnmanagedCode to create named (system
75 * Thread.cs: Added LinkDemand for ECMA public key on [Get|Set]
76 CompressedStack methods.
77 * WaitHandle.cs: Added LinkDemand and InheritanceDemand for
78 UnmanagedCode on set Handle property.
80 2005-03-10 Zoltan Varga <vargaz@freemail.hu>
82 * Thread.cs: Make slothash a ThreadStatic field. Fixes #65414.
84 2005-02-21 Zoltan Varga <vargaz@freemail.hu>
86 * Monitor.cs Interlocked.cs: Add net 2.0 ReliabilityContractAttributes.
88 2005-02-20 Zoltan Varga <vargaz@freemail.hu>
90 * Interlocked.cs: Applied patch from Luca Barbieri (luca.barbieri@gmail.com). Add NET 2.0 methods.
92 Tue Feb 15 18:19:11 CET 2005 Paolo Molaro <lupus@ximian.com>
94 * Thread.cs: make the slothash a field in MonoThread.
96 2005-01-27 Sebastien Pouliot <sebastien@ximian.com>
98 * Overlapped.cs: Added check for ControlPolicy and ControlEvidence for
99 Unsafe pack. Added MonoTODO for missing security stack propagation.
100 * Thread.cs: Add security checks for ControlThread.
101 * ThreadPool.cs: Added declarative security checks.
103 Thu Jan 13 18:15:32 CET 2005 Paolo Molaro <lupus@ximian.com>
105 * Thread.cs: implement stacksize and parameterized
106 start functionality (requires matching runtime).
108 2005-01-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
110 * ThreadAbortException.cs: added private serialization .ctor.
112 2004-12-20 Sebastien Pouliot <sebastien@ximian.com>
114 * CompressedStack.cs: Implemented most todo so it's usable for CAS.
115 * CompressedStackSwitcher.cs: Implemented most todo.
116 * Thread.cs: Implement support for getting/setting CompressedStack.
118 2004-12-15 Zoltan Varga <vargaz@freemail.hu>
120 * Thread.cs: Change type of culture_info and ui_culture_info to
121 IntPtr. Implement correct culture handling for the UI culture as
124 2004-12-14 Zoltan Varga <vargaz@freemail.hu>
126 * Thread.cs: Optimize CurrentCulture to avoid initializing the
127 serialization infrastructure in the common case when the culture is
130 2004-12-06 Zoltan Varga <vargaz@freemail.hu>
132 * Thread.cs: Add new fields 'serialized_culture_info{_len}'.
134 * Thread.cs (CurrentCulture): Fix leaking of culture info objects
135 across appdomains. Partially fixes #50049.
137 2004-12-05 Miguel de Icaza <miguel@ximian.com>
139 * AutoResetEvent.cs (Set, Reset): If we are disposed, throw a
140 ObjectDisposedEvent, helped track the WebConnection destructor
143 2004-09-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
145 * Timer.cs: don't invoke the callback twice when the timer changes.
148 2004-09-08 Marek Safar <marek.safar@seznam.cz>
150 * Interlocked.cs: Class is static in NET_2_0.
152 2004-09-04 Sebastien Pouliot <sebastien@ximian.com>
154 * Thread.cs: Changed an imperative security demand to declarative
155 (unsupported) so it doesn't (for now) call the security runtime.
157 2004-08-20 Sebastien Pouliot <sebastien@ximian.com>
159 * Thread.cs: Added Fx 2.0 properties/methods/attributes.
161 2004-08-12 Sebastien Pouliot <sebastien@ximian.com>
163 * CompressedStackSwitcher.cs: Added missing [ComVisible] and
164 [ReliabilityContract] attributes.
165 * ExecutionContext.cs: Added missing [ComVisible] and
166 [Serializable] attributes.
167 * HostExecutionContext.cs: Added missing [ComVisible] attribute.
168 * HostExecutionContextManager.cs: Added missing [ComVisible] and
169 [ReliabilityContract] attributes.
170 * HostExecutionContextSwitcher.cs: Added missing Equals and
171 GetHashCode methods and [ComVisible] and [ReliabilityContract] attrs.
172 * ParameterizedThreadStart.cs: New delegate in NET_2_0.
173 * SendOrPostCallback.cs: Added missing [ComVisible] attribute.
174 * SynchronizationContext.cs: Added new (2.0 beta1) methods Copy and
175 WaitHelper. Added missing [ComVisible] and [ReliabilityContract] attrs.
176 * SynchronizationContextSwitcher.cs: Added missing [ComVisible] and
177 [ReliabilityContract] attributes.
179 2004-08-08 Sebastien Pouliot <sebastien@ximian.com>
181 * HostExecutionContext.cs: Fx 2.0 stub required for AppDomain.
182 * HostExecutionContextManager.cs: Fx 2.0 stub required for AppDomain.
183 * HostExecutionContextSwitcher.cs: Fx 2.0 stub required for AppDomain.
185 2004-08-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
187 * Timer.cs: don't invoke the callback if the period changes before the
188 due time. Fixes bug #62421.
190 2004-07-27 Lluis Sanchez Gual <lluis@novell.com>
192 * ExecutionContext.cs, ExecutionContextSwitcher.cs,
193 SynchronizationContext.cs, SynchronizationContextSwitcher.cs: Added
196 2004-07-15 Dick Porter <dick@ximian.com>
198 * Thread.cs: Hold a lock in GetNamedDataSlot. Fixes bug 61582,
199 based on patch by Sbastien Robitaille
200 (sebastien.robitaille@croesus.com). Also fix instances of
201 lock(typeof(Thread)) to lock a private object instead.
203 2004-07-14 Sebastien Pouliot <sebastien@ximian.com>
205 * AsyncFlowControl.cs: New structure in Fx 2.0 required in
206 System.Security namespace.
207 * CompressedStackSwitcher.cs: New structure in Fx 2.0 required in
208 System.Security namespace.
209 * ContextCallback.cs: New delegate in Fx 2.0 required in
210 System.Security namespace.
211 * CompressedStack.cs: Updated API for NET_2_0 profile.
213 2004-07-10 Lluis Sanchez Gual <lluis@ximian.com>
215 * SendOrPostCallback.cs: New delegate.
217 2004-06-24 Dick Porter <dick@ximian.com>
219 * Mutex.cs: Implement the createdNew parameter
221 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
223 * Thread.cs: changed return type of VolatileRead to UIntPtr
224 * ThreadPool.cs: set return type of SetMinThreads to bool
226 2004-06-15 Lluis Sanchez Gual <lluis@ximian.com>
228 * Thread.cs: Added new fields to keep sync with MonoThread.
229 Removed state changes in Sleep and Join. The state change is now done
230 in the icall. For accessing to internal fields lock with synch_lock
231 instead of this, which can be a source of deadlocks.
233 2004-06-15 Lluis Sanchez Gual <lluis@ximian.com>
235 * Timer.cs: Don't abort the thread if Dispose() is called from the runner
238 2004-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
241 (CurrentPrincipal): lock on CurrentThread, not typeof (Thread) and set
242 the thread IPrincipal if we get it from the AppDomain.
244 2004-06-09 Gert Driesen <drieseng@users.sourceforge.net>
246 * CompressedStack.cs: Added finalizer to match public API of
249 2004-05-19 Lluis Sanchez Gual <lluis@ximian.com>
251 * Thread.cs: Some fixes in Abort. Implemented Suspend and Resume.
252 Added internal interruption_requested field.
254 2004-05-13 Sebastien Pouliot <sebastien@ximian.com>
256 * CompressedStack.cs: Added an internal constructor so a default one
257 doesn't appear with corcompare.
258 * Thread.cs: Added missing MemoryBarrier (only for 1.1) and SpinWait to please
259 corcompare. Both throw a NotImplementedException.
260 * ThreadPool.cs: Added missing UnsafeRegisterWaitForSingleObject methods (4
261 overloads) to please corcompare. All throw a NotImplementedException.
263 2004-05-12 Zoltan Varga <vargaz@freemail.hu>
265 * CompressedStack.cs: New file.
267 2004-04-15 Lluis Sanchez Gual <lluis@ximian.com>
269 * ThreadPool.cs: Added GetMinThreads and SetMinThreads.
270 * Timer.cs: In Change, return false if the timer has been disposed.
271 In Dispose, notify the WaitHandle.
273 2004-04-11 Lluis Sanchez Gual <lluis@ximian.com>
275 * ReaderWriterLock.cs: More fixes: never wait where acquiring a reader lock
276 if the thread already has the lock. Added readyWaitingReaders variable to
277 keep track of threads ready to get the reader lock.
279 2004-04-11 Lluis Sanchez Gual <lluis@ximian.com>
281 * LockQueue.cs: Moved lockCount change inside the rwlock lock. Removed
282 lock(this) when entering the rwlock to avoid a deadlock.
283 * ReaderWriterLock.cs: In AcquireWriterLock, queue the thread if the queue
284 is not empty (even if state==0).
286 2004-04-09 Zoltan Varga <vargaz@freemail.hu>
288 * Timer.cs: Call the callback immediately if dueTime is 0. Fixes
291 2004-04-08 Jackson Harper <jackson@ximian.com>
293 * ReaderWriterLock.cs: Fix tyop
295 2004-04-08 Lluis Sanchez Gual <lluis@ximian.com>
297 * ReaderWriterLock.cs: Changed some methods to private.
298 * WaitHandle.cs: In Wait methods, release the synchronization context when
301 2004-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
303 * Timer.cs: call Abort on the Runner instance too.
305 2004-04-07 Jackson Harper <jackson@ximian.com>
307 * Thread.cs: Use new culture info method for constructing the
310 2004-04-07 Lluis Sanchez Gual <lluis@ximian.com>
312 * ReaderWriterLock.cs: When a thread holds a writer lock, a call to
313 AcquireReaderLock works like a call to AcquireWriterLock.
315 2004-04-06 Lluis Sanchez Gual <lluis@ximian.com>
317 * Monitor.cs: In Wait(), release the synchronization context when
320 2004-04-06 Lluis Sanchez Gual <lluis@ximian.com>
322 * LockCookie.cs: Keep in this class the count of reader or writer locks
323 for a thread, not only whether it has locks or not.
324 * LockQueue.cs: Added property for checking if a thread is waiting in
325 the queue. Wait now returns a boolean that set to false on timeout
327 * ReaderWriterLock.cs: Started fixing bugs but I had to rewrite a lot of it.
328 The main change is that now it keeps a reader lock count for each
329 thread. This is needed since methods like ReleaseLock or
330 UpgradeToWriterLock need to return a per-thread status in LockCookie.
331 Also added support for recursive writer-lock requests.
333 2004-03-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
335 * ThreadAbortException.cs: use same HResult as MS.
336 * Timer.cs: abort the running thread when disposing the Timer. This
337 fixes NullRefs when finishing xsp.
339 2004-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
341 * NativeOverlapped.cs: added 2 new internal fields.
342 * Overlapped.cs: implemented, but it's not used.
344 * ThreadPool.cs: implemented BindHandle.
346 2004-03-08 Zoltan Varga <vargaz@freemail.hu>
348 * Timer.cs (Dispose): Applied patch from Jaroslaw Kowalski
349 (jaak@zd.com.pl). Fix finalization problems during appdomain unload.
351 2004-02-23 Jackson Harper <jackson@ximian.com>
353 * LockCookie.cs: Add some fields for restoring locks.
354 * ReaderWriterLock.cs: Implement
355 * LockQueue.cs: New File - used for queueing thread locks in
358 2004-02-19 Jackson Harper <jackson@ximian.com>
360 * Monitor.cs: Fix spelleng.
362 2004-02-09 Zoltan Varga <vargaz@freemail.hu>
364 * Thread.cs: Add fields added to unmanaged MonoThread here as well.
365 Fixes random errors caused by memory corruption.
367 2004-02-06 Zoltan Varga <vargaz@freemail.hu>
369 * Thread.cs: Store the thread name in unmanaged memory, since the
370 thread object is shared between appdomains.
372 2004-02-05 Sebastien Pouliot <sebastien@ximian.com>
374 * Thread.cs: Implemented CurrentPrincipal.
376 2004-01-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
378 * Thread.cs: delayed thread creation until Start is called. If we
379 don't do that and Start() is not called, the thread is leaked. First
380 step towards fixing bug #53078.
382 2003-12-02 Dick Porter <dick@ximian.com>
384 * Thread.cs: Throw InvalidOperationException if Thread.Name is
387 2003-12-01 Dick Porter <dick@ximian.com>
389 * Thread.cs: Implement CurrentCulture and CurrentUICulture
391 2003-11-12 Miguel de Icaza <miguel@ximian.com>
393 * Thread.cs: Add new VolatileRead/VolatileWrite methods from 1.1
395 2003-10-23 Lluis Sanchez Gual <lluis@ximian.com>
397 * Thread.cs: Added ResetDataStoreStatus and RestoreDataStoreStatus
398 methods. They are used in CrossAppDomainChannel to save and restore
399 thread's local data when switching between domains.
401 2003-10-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
403 * ManualResetEvent.cs: added check for disposed.
404 * Thread.cs: no need to init this field.
406 2003-10-01 Zoltan Varga <vargaz@freemail.hu>
408 * Thread.cs: Add locking to AllocateNamedDataSlot and
411 Wed Aug 20 12:01:36 CEST 2003 Paolo Molaro <lupus@ximian.com>
413 * Thread.cs: put all the fields at the start and add
414 more fields needed by the runtime.
416 2003-08-14 Lluis Sanchez Gual <lluis@ximian.com>
418 * Thread.cs: SetData() method: use Hashtable.Contains to check
419 if a dataslot has been allocated (value could be null).
421 2003-07-23 Duncan Mak <duncan@ximian.com>
423 * WaitHandle.cs (CheckDisposed): This method is not in the public
424 API, mark it as 'internal'.
426 2003-07-01 Dick Porter <dick@ximian.com>
428 * Thread.cs: Throw an exception if thread creation failed.
429 (Better than just blowing up later.)
431 2003-06-27 Dietmar Maurer <dietmar@ximian.com>
433 * ThreadPool.cs: use async delegate invoke.
435 2003-06-25 Dick Porter <dick@ximian.com>
437 * WaitHandle.cs: Default handle value should be InvalidHandle, not
440 2003-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
442 * ThreadPool.cs: correctly create a TimeSpan with provided the number of
445 * WaitHandle.cs: fixes for WaitAny/All and TimeSpan.
447 2003-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
449 * WaitHandle.cs: checks and exceptions.
451 2003-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
453 * NativeEventCalls.cs: added CloseEvent_intenal.
454 * WaitHandle.cs: call CloseEvent_internal when disposing.
456 2003-05-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
458 * RegisteredWaitHandle.cs: check that the callback is not null before
461 * ThreadPool.cs: fixed timeout -> TimeSpan conversions (closes bug
462 #43963). Queue the item before setting the handle. If there's a timeout,
463 avoid trying to Dequeue, getting the exception et al, just continue the
466 Mon May 19 09:07:45 CEST 2003 Paolo Molaro <lupus@ximian.com>
468 * Monitor.cs: removed test_owner, the check is already done in the
471 Tue May 13 15:34:29 CEST 2003 Paolo Molaro <lupus@ximian.com>
473 * Thread.cs: added missing field used by the runtime and
474 a new field to support thread-static data.
476 2003-04-17 Pedro Mart�ez Juli� <yoros@wanadoo.es>
478 * Timer.cs: Change the position of two lines because they were
479 before the "if" that ensures the integrity. After this, the first of
480 that two lines was producing a NullReferenceException.
482 2003-04-09 Dick Porter <dick@ximian.com>
484 * Thread.cs: Make sure a reference to the ThreadStart delegate is
485 held. There's no telling how long it will be before
486 Thread.Start() is called, and GC might destroy the delegate.
487 Thread() and Start() need to be rewritten so that the runtime
488 creates the new thread when Start() is called, which will simplify
489 the code a great deal.
491 2003-03-20 Miguel de Icaza <miguel@ximian.com>
493 * Thread.cs (CurrentCuluture): use the invaraint culture instead
494 of "" for the current_culture setting.
496 2003-03-25 Zoltan Varga <vargaz@freemail.hu>
498 * Thread.cs: Fix visibility of ResetAbort().
500 2003-03-18 Dick Porter <dick@ximian.com>
502 * Thread.cs: Keep the thread state updated in all the places that
503 require it. (Suspend, Resume and Interrupt not handled yet)
505 2003-03-03 Lluis Sanchez Gual <lluis@ideary.com>
507 * Thread.cs: Changed implementation of CurrentContext, adapted to the changes
510 2003-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
512 * Thread.cs: implemented CurrentContext.
514 2003-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
516 * Thread.cs: made the thread_id for the current thread accesible through
517 an internal property.
519 2003-02-17 Dick Porter <dick@ximian.com>
521 * Thread.cs: Added the Start semaphore field to the class. Update
522 the thread state after Start() has returned, not before.
524 2003-02-13 Zoltan Varga <vargaz@freemail.hu>
526 * Thread.cs (Sleep): Timeout.Infinite is a value argument.
528 2003-02-11 Dick Porter <dick@ximian.com>
530 * Monitor.cs: Infinite wait is Infinite, not 0 ms
532 2003-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
534 * Thread.cs: fixed bug #37759.
536 2003-02-07 Patrik Torstensson
538 * Timer.cs: Set the Background thread flag for the timer thread
540 2003-02-05 Patrik Torstensson
542 * ThreadPool.cs: Reformated and fixed issue that made all thread exit the pool.
544 2003-02-04 Lluis Sanchez Gual <lluis@ideary.com>
546 * ThreadPool.cs: Implemented RegisterWaitForSingleObject methods.
548 Tue Jan 28 17:55:59 CET 2003 Paolo Molaro <lupus@ximian.com>
550 * Thread.cs: delay-init datastorehash.
552 2003-01-10 Patrik Torstensson <totte@race-x-change.com>
554 * ThreadPool.cs: Temporary removed the usage of monitor thread, implemented a
555 model more equal to the MS one.
557 2002-12-10 Dick Porter <dick@ximian.com>
563 * WaitHandle.cs: Use TotalMilliseconds to convert a TimeSpan to
564 ms, not Milliseconds.
566 2002-12-07 Martin Baulig <martin@ximian.com>
568 * Timer.cs: Make it actually work; now it no longer sets your
569 application on fire if you use a zero periode and Timer.Change()
572 2002-11-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
574 * Timer.cs: implemented more stuff. It works now.
576 2002-10-25 Zoltan Varga <vargaz@freemail.hu>
578 * Thread.cs: Implement GetDomain() and GetDomainID().
580 2002-10-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
582 * ThreadPool.cs: now the monitor thread is not sleeping and checking if
583 more worker threads needed. It waits on _DataInQueue. If (and only if)
584 there's data in the queue it checks if more worker threads needed and
585 then sleeps 0.5s before waiting for queued data again.
587 2002-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
589 * ThreadPool.cs: set IsThreadPoolThread before starting the worker.
591 2002-09-11 Dick Porter <dick@ximian.com>
594 * ManualResetEvent.cs:
595 * AutoResetEvent.cs: Use the WaitHandle.Handle property instead of
598 * WaitHandle.cs: Hide the os_handle field and the WaitOne_internal
601 2002-09-03 Dick Porter <dick@ximian.com>
603 * Thread.cs: Added thread ID field
605 2002-08-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
607 * WaitHandle.cs: IDisposable fixes.
609 2002-08-14 Dick Porter <dick@ximian.com>
611 * Thread.cs: Make CurrentUICulture act the same as CurrentCulture
614 2002-08-12 Dietmar Maurer <dietmar@ximian.com>
616 * ThreadAbortException.cs: impl. ExceptionState property.
618 * Thread.cs: moved all instance variables to the start of the
619 class. added support for Thread::Abort()
621 2002-04-30 Dick Porter <dick@ximian.com>
623 * Thread.cs: If LocalDataStoreSlot already has data set, remove it
624 before adding a new one.
626 Use the Thread object destructor to tell the runtime to close the
629 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
631 * Interlocked.cs: made all methods icalls.
633 2002-04-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
635 * IOCompletionCallback.cs: added attributes to the delegate
636 (CLSCompliant(false) and Serializable).
638 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
639 * Thread.cs: Fixed IsThreadPoolThread to use a internal property instead of extending
640 the threadstate enum.
641 * ThreadPool.cs: Now using the internal Isthreadpoolthread property
642 * ThreadState.cs: removed non-standard enum (ThreadPoolThread)
644 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
646 * ThreadState.cs: Added enum for threadpool thread
647 * Thread.cs: changed the set/clr_state to be internal (used from threadpool)
648 * Thread.cs: Added IsThreadPoolThread
649 * ThreadPool.cs: Implementation of QueueUserWorkItem
651 Wed Feb 13 21:51:30 CET 2002 Paolo Molaro <lupus@ximian.com>
653 * Thread.cs: implement CurrentCulture property needed by
654 Convert.ChangeType() (used when compiling enums).
656 2002-01-23 Dick Porter <dick@ximian.com>
658 * ManualResetEvent.cs:
659 * AutoResetEvent.cs: Fixed DOS line endings
661 2002-01-22 Veronica De Santis <veron78@interfree.it>
663 * NativeEventCalls : Class that contains internal calls shared by Auto
664 and Manual Reset Events
665 * AutoResetEvents.cs : Added class AutoResetEvents and its implementation
666 * ManualResetEvents.cs : Added class ManualResetEvents and its implementation
668 2002-01-16 Veronica De Santis <veron78@interfree.it>
670 * WaitHandle.cs : Renamed handle to os_handle and make it protected
672 * Mutex.cs : Write the System.Threading.Mutex methods ( constructors
673 and the ReleaseMutex)
675 2002-01-15 Dick Porter <dick@ximian.com>
678 * Thread.cs: Make the runtime's idea of infinite timeouts coincide
679 with the class library's
681 2002-01-10 Dick Porter <dick@ximian.com>
683 * WaitHandle.cs: Added checks for too many handles and null
684 handles in WaitAll() and WaitAny
687 2002-01-05 Ravi Pratap <ravi@ximian.com>
689 * AutoResetEvent.cs, ManualResetEvent.cs, Monitor.cs : MonoTODO
692 * Mutex.cs, Overlapped.cs, ReaderWriterLock.cs, RegisteredWaitHandle.cs,
693 Thread.cs, ThreadAbortException.cs, ThreadPool.cs, Timer.cs, WaitHandler.cs : Ditto.
695 2001-12-11 Dick Porter <dick@ximian.com>
697 * WaitHandle.cs: Implemented WaitAll(), WaitAny() and WaitOne() as
700 2001-11-26 Dick Porter <dick@ximian.com>
702 * Thread.cs: DataSlot uses a single system TLS slot, and a
703 hashtable per thread. Some minor changes to reflect the new
704 internal calls using the new IO library, and the newly-supported
705 bool returns from internal calls.
707 * Monitor.cs: Use bool returns from internal calls now they are
708 supported by the runtime. Coalesce enter with the try_enter
711 Wed Nov 14 17:06:18 CET 2001 Paolo Molaro <lupus@ximian.com>
713 * Overlapped.cs, ThreadPool.cs, Timer.cs: CLSCompliant updates.
715 2001-10-03 Dick Porter <dick@ximian.com>
717 * Monitor.cs: Implemented all methods except the two Wait()
718 methods that take boolean parameters
720 2001-09-28 Dick Porter <dick@ximian.com>
722 * Thread.cs: Implemented AllocateDataSlot(),
723 AllocateNamedDataSlot(), FreeNamedDataSlot(), GetData(),
724 GetNamedDataSlot(), SetData(), IsBackground. Reworked Thread()
725 and Start() to avoid a race condition. Added thread-safe state
726 changing private operations.
728 * Monitor.cs: Comment out the GetType() calls because it isn't implemented yet
730 2001-09-25 Dick Porter <dick@ximian.com>
732 * Thread.cs: Implement Join and timed Join, set correct state
733 around Start, Join and Sleep calls, implement IsAlive and
734 ThreadState properties.
736 * ThreadState.cs (Threading): Added StopRequested,
737 SuspendRequested, Suspended values
739 2001-09-23 Dick Porter <dick@ximian.com>
741 * Thread.cs: Implemented CurrentThread and Sleep (both versions)
742 with internal calls, and Name.
744 2001-09-21 Dick Porter <dick@ximian.com>
746 * Thread.cs: Implement Thread(ThreadStart) constructor and Start()
747 with an internal call
749 * WaitHandle.cs: Close calls Dispose(false)
751 2001-09-13 Dick Porter <dick@ximian.com>
753 * ApartmentState.cs (Threading): Set the correct enum values
755 2001-09-13 Dick Porter <dick@ximian.com>
757 * ApartmentState.cs, AutoResetEvent.cs, IOCompletionCallback.cs,
758 Interlocked.cs, LockCookie.cs, ManualResetEvent.cs, Monitor.cs,
759 Mutex.cs, NativeOverlapped.cs, Overlapped.cs, ReaderWriterLock.cs,
760 RegisteredWaitHandle.cs, SynchronizationLockException.cs,
761 Thread.cs, ThreadAbortException.cs, ThreadInterruptedException.cs,
762 ThreadPool.cs, ThreadStart.cs, ThreadStateException.cs,
763 Timeout.cs, Timer.cs, TimerCallback.cs, WaitCallback.cs,
764 WaitHandle.cs, WaitOrTimerCallback.cs: System.Threading class
767 2001-07-18 Michael Lambert <michaellambert@email.com>
769 * ThreadPriority.cs, ThreadState.cs: Add.