1 2005-05-24 Sebastien Pouliot <sebastien@ximian.com>
3 * Thread.cs: Removed #pragma which aren't supported by CSC 7.x.
5 2005-05-20 Sebastien Pouliot <sebastien@ximian.com>
7 * AsyncFlowControl.cs: Now available, as internal, in NET_1_1. This is
8 required to get some methods from SecurityContext and ExecutionContext
10 * CompressedStack.cs: Now includes the current CompressedStack in a new
12 * ExecutionContext.cs: Includes more methods in NET_1_1 to enable
13 ThreadPool.UnsafeQueueUserWorkItem to work properly (i.e. without
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.
20 2005-05-19 Miguel de Icaza <miguel@novell.com>
22 * Thread.cs: REmove warnings.
24 2005-05-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
26 * Thread.cs: first check for null, then set in_currentculture.
28 2005-05-12 Lluis Sanchez Gual <lluis@novell.com>
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
34 2005-05-11 Sebastien Pouliot <sebastien@ximian.com>
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).
43 2005-05-09 Sebastien Pouliot <sebastien@ximian.com>
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
50 2005-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
52 * ReaderWriterLock.cs: fix random ApplicationException errors. Tested
53 with the System.Web.Cache stress program. Patch by Eyal Alayuf
54 (Mainsoft). Fixes 74598.
56 2005-04-28 Sebastien Pouliot <sebastien@ximian.com>
58 * Thread.cs: Added property to get the ExecutionContext in 2.0. Fixed
59 GetCompressedStack and made SetCompressedStack available (as internal)
62 2005-04-28 Sebastien Pouliot <sebastien@ximian.com>
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.
74 2005-04-19 Zoltan Varga <vargaz@freemail.hu>
76 * Thread.cs: Add some unused fields.
78 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
80 * ThreadPool.cs: BindHandle does nothing now.
82 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
84 * Thread.cs: clear the Unstarted bit before calling Start_internal.
87 2005-04-04 Ben Maurer <bmaurer@ximian.com>
89 * Thread.cs: Do argument checking for Current[UI]Culture to make
90 the exception more clear for a null value being set.
92 2005-03-24 Sebastien Pouliot <sebastien@ximian.com>
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
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.
103 2005-03-10 Zoltan Varga <vargaz@freemail.hu>
105 * Thread.cs: Make slothash a ThreadStatic field. Fixes #65414.
107 2005-02-21 Zoltan Varga <vargaz@freemail.hu>
109 * Monitor.cs Interlocked.cs: Add net 2.0 ReliabilityContractAttributes.
111 2005-02-20 Zoltan Varga <vargaz@freemail.hu>
113 * Interlocked.cs: Applied patch from Luca Barbieri (luca.barbieri@gmail.com). Add NET 2.0 methods.
115 Tue Feb 15 18:19:11 CET 2005 Paolo Molaro <lupus@ximian.com>
117 * Thread.cs: make the slothash a field in MonoThread.
119 2005-01-27 Sebastien Pouliot <sebastien@ximian.com>
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.
126 Thu Jan 13 18:15:32 CET 2005 Paolo Molaro <lupus@ximian.com>
128 * Thread.cs: implement stacksize and parameterized
129 start functionality (requires matching runtime).
131 2005-01-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
133 * ThreadAbortException.cs: added private serialization .ctor.
135 2004-12-20 Sebastien Pouliot <sebastien@ximian.com>
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.
141 2004-12-15 Zoltan Varga <vargaz@freemail.hu>
143 * Thread.cs: Change type of culture_info and ui_culture_info to
144 IntPtr. Implement correct culture handling for the UI culture as
147 2004-12-14 Zoltan Varga <vargaz@freemail.hu>
149 * Thread.cs: Optimize CurrentCulture to avoid initializing the
150 serialization infrastructure in the common case when the culture is
153 2004-12-06 Zoltan Varga <vargaz@freemail.hu>
155 * Thread.cs: Add new fields 'serialized_culture_info{_len}'.
157 * Thread.cs (CurrentCulture): Fix leaking of culture info objects
158 across appdomains. Partially fixes #50049.
160 2004-12-05 Miguel de Icaza <miguel@ximian.com>
162 * AutoResetEvent.cs (Set, Reset): If we are disposed, throw a
163 ObjectDisposedEvent, helped track the WebConnection destructor
166 2004-09-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
168 * Timer.cs: don't invoke the callback twice when the timer changes.
171 2004-09-08 Marek Safar <marek.safar@seznam.cz>
173 * Interlocked.cs: Class is static in NET_2_0.
175 2004-09-04 Sebastien Pouliot <sebastien@ximian.com>
177 * Thread.cs: Changed an imperative security demand to declarative
178 (unsupported) so it doesn't (for now) call the security runtime.
180 2004-08-20 Sebastien Pouliot <sebastien@ximian.com>
182 * Thread.cs: Added Fx 2.0 properties/methods/attributes.
184 2004-08-12 Sebastien Pouliot <sebastien@ximian.com>
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.
202 2004-08-08 Sebastien Pouliot <sebastien@ximian.com>
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.
208 2004-08-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
210 * Timer.cs: don't invoke the callback if the period changes before the
211 due time. Fixes bug #62421.
213 2004-07-27 Lluis Sanchez Gual <lluis@novell.com>
215 * ExecutionContext.cs, ExecutionContextSwitcher.cs,
216 SynchronizationContext.cs, SynchronizationContextSwitcher.cs: Added
219 2004-07-15 Dick Porter <dick@ximian.com>
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.
226 2004-07-14 Sebastien Pouliot <sebastien@ximian.com>
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.
236 2004-07-10 Lluis Sanchez Gual <lluis@ximian.com>
238 * SendOrPostCallback.cs: New delegate.
240 2004-06-24 Dick Porter <dick@ximian.com>
242 * Mutex.cs: Implement the createdNew parameter
244 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
246 * Thread.cs: changed return type of VolatileRead to UIntPtr
247 * ThreadPool.cs: set return type of SetMinThreads to bool
249 2004-06-15 Lluis Sanchez Gual <lluis@ximian.com>
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.
256 2004-06-15 Lluis Sanchez Gual <lluis@ximian.com>
258 * Timer.cs: Don't abort the thread if Dispose() is called from the runner
261 2004-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
264 (CurrentPrincipal): lock on CurrentThread, not typeof (Thread) and set
265 the thread IPrincipal if we get it from the AppDomain.
267 2004-06-09 Gert Driesen <drieseng@users.sourceforge.net>
269 * CompressedStack.cs: Added finalizer to match public API of
272 2004-05-19 Lluis Sanchez Gual <lluis@ximian.com>
274 * Thread.cs: Some fixes in Abort. Implemented Suspend and Resume.
275 Added internal interruption_requested field.
277 2004-05-13 Sebastien Pouliot <sebastien@ximian.com>
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.
286 2004-05-12 Zoltan Varga <vargaz@freemail.hu>
288 * CompressedStack.cs: New file.
290 2004-04-15 Lluis Sanchez Gual <lluis@ximian.com>
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.
296 2004-04-11 Lluis Sanchez Gual <lluis@ximian.com>
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.
302 2004-04-11 Lluis Sanchez Gual <lluis@ximian.com>
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).
309 2004-04-09 Zoltan Varga <vargaz@freemail.hu>
311 * Timer.cs: Call the callback immediately if dueTime is 0. Fixes
314 2004-04-08 Jackson Harper <jackson@ximian.com>
316 * ReaderWriterLock.cs: Fix tyop
318 2004-04-08 Lluis Sanchez Gual <lluis@ximian.com>
320 * ReaderWriterLock.cs: Changed some methods to private.
321 * WaitHandle.cs: In Wait methods, release the synchronization context when
324 2004-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
326 * Timer.cs: call Abort on the Runner instance too.
328 2004-04-07 Jackson Harper <jackson@ximian.com>
330 * Thread.cs: Use new culture info method for constructing the
333 2004-04-07 Lluis Sanchez Gual <lluis@ximian.com>
335 * ReaderWriterLock.cs: When a thread holds a writer lock, a call to
336 AcquireReaderLock works like a call to AcquireWriterLock.
338 2004-04-06 Lluis Sanchez Gual <lluis@ximian.com>
340 * Monitor.cs: In Wait(), release the synchronization context when
343 2004-04-06 Lluis Sanchez Gual <lluis@ximian.com>
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
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.
356 2004-03-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
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.
362 2004-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
364 * NativeOverlapped.cs: added 2 new internal fields.
365 * Overlapped.cs: implemented, but it's not used.
367 * ThreadPool.cs: implemented BindHandle.
369 2004-03-08 Zoltan Varga <vargaz@freemail.hu>
371 * Timer.cs (Dispose): Applied patch from Jaroslaw Kowalski
372 (jaak@zd.com.pl). Fix finalization problems during appdomain unload.
374 2004-02-23 Jackson Harper <jackson@ximian.com>
376 * LockCookie.cs: Add some fields for restoring locks.
377 * ReaderWriterLock.cs: Implement
378 * LockQueue.cs: New File - used for queueing thread locks in
381 2004-02-19 Jackson Harper <jackson@ximian.com>
383 * Monitor.cs: Fix spelleng.
385 2004-02-09 Zoltan Varga <vargaz@freemail.hu>
387 * Thread.cs: Add fields added to unmanaged MonoThread here as well.
388 Fixes random errors caused by memory corruption.
390 2004-02-06 Zoltan Varga <vargaz@freemail.hu>
392 * Thread.cs: Store the thread name in unmanaged memory, since the
393 thread object is shared between appdomains.
395 2004-02-05 Sebastien Pouliot <sebastien@ximian.com>
397 * Thread.cs: Implemented CurrentPrincipal.
399 2004-01-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
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.
405 2003-12-02 Dick Porter <dick@ximian.com>
407 * Thread.cs: Throw InvalidOperationException if Thread.Name is
410 2003-12-01 Dick Porter <dick@ximian.com>
412 * Thread.cs: Implement CurrentCulture and CurrentUICulture
414 2003-11-12 Miguel de Icaza <miguel@ximian.com>
416 * Thread.cs: Add new VolatileRead/VolatileWrite methods from 1.1
418 2003-10-23 Lluis Sanchez Gual <lluis@ximian.com>
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.
424 2003-10-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
426 * ManualResetEvent.cs: added check for disposed.
427 * Thread.cs: no need to init this field.
429 2003-10-01 Zoltan Varga <vargaz@freemail.hu>
431 * Thread.cs: Add locking to AllocateNamedDataSlot and
434 Wed Aug 20 12:01:36 CEST 2003 Paolo Molaro <lupus@ximian.com>
436 * Thread.cs: put all the fields at the start and add
437 more fields needed by the runtime.
439 2003-08-14 Lluis Sanchez Gual <lluis@ximian.com>
441 * Thread.cs: SetData() method: use Hashtable.Contains to check
442 if a dataslot has been allocated (value could be null).
444 2003-07-23 Duncan Mak <duncan@ximian.com>
446 * WaitHandle.cs (CheckDisposed): This method is not in the public
447 API, mark it as 'internal'.
449 2003-07-01 Dick Porter <dick@ximian.com>
451 * Thread.cs: Throw an exception if thread creation failed.
452 (Better than just blowing up later.)
454 2003-06-27 Dietmar Maurer <dietmar@ximian.com>
456 * ThreadPool.cs: use async delegate invoke.
458 2003-06-25 Dick Porter <dick@ximian.com>
460 * WaitHandle.cs: Default handle value should be InvalidHandle, not
463 2003-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
465 * ThreadPool.cs: correctly create a TimeSpan with provided the number of
468 * WaitHandle.cs: fixes for WaitAny/All and TimeSpan.
470 2003-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
472 * WaitHandle.cs: checks and exceptions.
474 2003-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
476 * NativeEventCalls.cs: added CloseEvent_intenal.
477 * WaitHandle.cs: call CloseEvent_internal when disposing.
479 2003-05-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
481 * RegisteredWaitHandle.cs: check that the callback is not null before
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
489 Mon May 19 09:07:45 CEST 2003 Paolo Molaro <lupus@ximian.com>
491 * Monitor.cs: removed test_owner, the check is already done in the
494 Tue May 13 15:34:29 CEST 2003 Paolo Molaro <lupus@ximian.com>
496 * Thread.cs: added missing field used by the runtime and
497 a new field to support thread-static data.
499 2003-04-17 Pedro Mart�ez Juli� <yoros@wanadoo.es>
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.
505 2003-04-09 Dick Porter <dick@ximian.com>
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.
514 2003-03-20 Miguel de Icaza <miguel@ximian.com>
516 * Thread.cs (CurrentCuluture): use the invaraint culture instead
517 of "" for the current_culture setting.
519 2003-03-25 Zoltan Varga <vargaz@freemail.hu>
521 * Thread.cs: Fix visibility of ResetAbort().
523 2003-03-18 Dick Porter <dick@ximian.com>
525 * Thread.cs: Keep the thread state updated in all the places that
526 require it. (Suspend, Resume and Interrupt not handled yet)
528 2003-03-03 Lluis Sanchez Gual <lluis@ideary.com>
530 * Thread.cs: Changed implementation of CurrentContext, adapted to the changes
533 2003-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
535 * Thread.cs: implemented CurrentContext.
537 2003-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
539 * Thread.cs: made the thread_id for the current thread accesible through
540 an internal property.
542 2003-02-17 Dick Porter <dick@ximian.com>
544 * Thread.cs: Added the Start semaphore field to the class. Update
545 the thread state after Start() has returned, not before.
547 2003-02-13 Zoltan Varga <vargaz@freemail.hu>
549 * Thread.cs (Sleep): Timeout.Infinite is a value argument.
551 2003-02-11 Dick Porter <dick@ximian.com>
553 * Monitor.cs: Infinite wait is Infinite, not 0 ms
555 2003-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
557 * Thread.cs: fixed bug #37759.
559 2003-02-07 Patrik Torstensson
561 * Timer.cs: Set the Background thread flag for the timer thread
563 2003-02-05 Patrik Torstensson
565 * ThreadPool.cs: Reformated and fixed issue that made all thread exit the pool.
567 2003-02-04 Lluis Sanchez Gual <lluis@ideary.com>
569 * ThreadPool.cs: Implemented RegisterWaitForSingleObject methods.
571 Tue Jan 28 17:55:59 CET 2003 Paolo Molaro <lupus@ximian.com>
573 * Thread.cs: delay-init datastorehash.
575 2003-01-10 Patrik Torstensson <totte@race-x-change.com>
577 * ThreadPool.cs: Temporary removed the usage of monitor thread, implemented a
578 model more equal to the MS one.
580 2002-12-10 Dick Porter <dick@ximian.com>
586 * WaitHandle.cs: Use TotalMilliseconds to convert a TimeSpan to
587 ms, not Milliseconds.
589 2002-12-07 Martin Baulig <martin@ximian.com>
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()
595 2002-11-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
597 * Timer.cs: implemented more stuff. It works now.
599 2002-10-25 Zoltan Varga <vargaz@freemail.hu>
601 * Thread.cs: Implement GetDomain() and GetDomainID().
603 2002-10-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
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.
610 2002-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
612 * ThreadPool.cs: set IsThreadPoolThread before starting the worker.
614 2002-09-11 Dick Porter <dick@ximian.com>
617 * ManualResetEvent.cs:
618 * AutoResetEvent.cs: Use the WaitHandle.Handle property instead of
621 * WaitHandle.cs: Hide the os_handle field and the WaitOne_internal
624 2002-09-03 Dick Porter <dick@ximian.com>
626 * Thread.cs: Added thread ID field
628 2002-08-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
630 * WaitHandle.cs: IDisposable fixes.
632 2002-08-14 Dick Porter <dick@ximian.com>
634 * Thread.cs: Make CurrentUICulture act the same as CurrentCulture
637 2002-08-12 Dietmar Maurer <dietmar@ximian.com>
639 * ThreadAbortException.cs: impl. ExceptionState property.
641 * Thread.cs: moved all instance variables to the start of the
642 class. added support for Thread::Abort()
644 2002-04-30 Dick Porter <dick@ximian.com>
646 * Thread.cs: If LocalDataStoreSlot already has data set, remove it
647 before adding a new one.
649 Use the Thread object destructor to tell the runtime to close the
652 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
654 * Interlocked.cs: made all methods icalls.
656 2002-04-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
658 * IOCompletionCallback.cs: added attributes to the delegate
659 (CLSCompliant(false) and Serializable).
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)
667 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
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
674 Wed Feb 13 21:51:30 CET 2002 Paolo Molaro <lupus@ximian.com>
676 * Thread.cs: implement CurrentCulture property needed by
677 Convert.ChangeType() (used when compiling enums).
679 2002-01-23 Dick Porter <dick@ximian.com>
681 * ManualResetEvent.cs:
682 * AutoResetEvent.cs: Fixed DOS line endings
684 2002-01-22 Veronica De Santis <veron78@interfree.it>
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
691 2002-01-16 Veronica De Santis <veron78@interfree.it>
693 * WaitHandle.cs : Renamed handle to os_handle and make it protected
695 * Mutex.cs : Write the System.Threading.Mutex methods ( constructors
696 and the ReleaseMutex)
698 2002-01-15 Dick Porter <dick@ximian.com>
701 * Thread.cs: Make the runtime's idea of infinite timeouts coincide
702 with the class library's
704 2002-01-10 Dick Porter <dick@ximian.com>
706 * WaitHandle.cs: Added checks for too many handles and null
707 handles in WaitAll() and WaitAny
710 2002-01-05 Ravi Pratap <ravi@ximian.com>
712 * AutoResetEvent.cs, ManualResetEvent.cs, Monitor.cs : MonoTODO
715 * Mutex.cs, Overlapped.cs, ReaderWriterLock.cs, RegisteredWaitHandle.cs,
716 Thread.cs, ThreadAbortException.cs, ThreadPool.cs, Timer.cs, WaitHandler.cs : Ditto.
718 2001-12-11 Dick Porter <dick@ximian.com>
720 * WaitHandle.cs: Implemented WaitAll(), WaitAny() and WaitOne() as
723 2001-11-26 Dick Porter <dick@ximian.com>
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.
730 * Monitor.cs: Use bool returns from internal calls now they are
731 supported by the runtime. Coalesce enter with the try_enter
734 Wed Nov 14 17:06:18 CET 2001 Paolo Molaro <lupus@ximian.com>
736 * Overlapped.cs, ThreadPool.cs, Timer.cs: CLSCompliant updates.
738 2001-10-03 Dick Porter <dick@ximian.com>
740 * Monitor.cs: Implemented all methods except the two Wait()
741 methods that take boolean parameters
743 2001-09-28 Dick Porter <dick@ximian.com>
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.
751 * Monitor.cs: Comment out the GetType() calls because it isn't implemented yet
753 2001-09-25 Dick Porter <dick@ximian.com>
755 * Thread.cs: Implement Join and timed Join, set correct state
756 around Start, Join and Sleep calls, implement IsAlive and
757 ThreadState properties.
759 * ThreadState.cs (Threading): Added StopRequested,
760 SuspendRequested, Suspended values
762 2001-09-23 Dick Porter <dick@ximian.com>
764 * Thread.cs: Implemented CurrentThread and Sleep (both versions)
765 with internal calls, and Name.
767 2001-09-21 Dick Porter <dick@ximian.com>
769 * Thread.cs: Implement Thread(ThreadStart) constructor and Start()
770 with an internal call
772 * WaitHandle.cs: Close calls Dispose(false)
774 2001-09-13 Dick Porter <dick@ximian.com>
776 * ApartmentState.cs (Threading): Set the correct enum values
778 2001-09-13 Dick Porter <dick@ximian.com>
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
790 2001-07-18 Michael Lambert <michaellambert@email.com>
792 * ThreadPriority.cs, ThreadState.cs: Add.