1 2005-05-26 Ben Maurer <bmaurer@ximian.com>
3 * Thread.cs: Use a static object for a lock rather than
6 2005-05-26 Sebastien Pouliot <sebastien@ximian.com>
8 * SynchronizationContext.cs: Re-introduced SendOrPost method as it's
9 being used in System.Web.Services.
11 2005-05-26 Sebastien Pouliot <sebastien@ximian.com>
13 * SynchronizationContext.cs: Updated to beta2 API so it doesn't depend
14 on the switcher structure anymore (which will be removed from the
17 2005-05-24 Sebastien Pouliot <sebastien@ximian.com>
19 * Thread.cs: Removed #pragma which aren't supported by CSC 7.x.
21 2005-05-20 Sebastien Pouliot <sebastien@ximian.com>
23 * AsyncFlowControl.cs: Now available, as internal, in NET_1_1. This is
24 required to get some methods from SecurityContext and ExecutionContext
26 * CompressedStack.cs: Now includes the current CompressedStack in a new
28 * ExecutionContext.cs: Includes more methods in NET_1_1 to enable
29 ThreadPool.UnsafeQueueUserWorkItem to work properly (i.e. without
31 * Thread.cs: Made ExecutionContext field accessible from the runtime.
32 Added stack propagation when Thread.Start is called.
33 * ThreadPool.cs: QueueUserWorkItem now does stack propagation (done in
34 the runtime), so I "fixed" UnsafeQueueUserWorkItem not to do so.
36 2005-05-19 Miguel de Icaza <miguel@novell.com>
38 * Thread.cs: REmove warnings.
40 2005-05-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
42 * Thread.cs: first check for null, then set in_currentculture.
44 2005-05-12 Lluis Sanchez Gual <lluis@novell.com>
46 * Thread.cs: Moved all checks done inside sync_lock to unmanaged code.
47 Merged Thread_internal and Start_internal into a single icall, which
50 2005-05-11 Sebastien Pouliot <sebastien@ximian.com>
52 * CompressedStack.cs: Allow merging of an existing CompressedStack
53 with the actual stack of the current Thread.
54 * Thread.cs: GetCompressedStack and SetCompressedStack are public
55 before 2.0 but couldn't be seen with mono-api-info because of it's
56 LinkDemand for the ECMA public key. Removed unused CompressedStack
57 private field (now part of the ExecutionContext).
59 2005-05-09 Sebastien Pouliot <sebastien@ximian.com>
61 * CompressedStack.cs: GetCompressedStack is public before 2.0 but
62 couldn't be seen with mono-api-info because of it's LinkDemand for
63 the ECMA public key. Stack capture occurs here if none exists on the
66 2005-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
68 * ReaderWriterLock.cs: fix random ApplicationException errors. Tested
69 with the System.Web.Cache stress program. Patch by Eyal Alayuf
70 (Mainsoft). Fixes 74598.
72 2005-04-28 Sebastien Pouliot <sebastien@ximian.com>
74 * Thread.cs: Added property to get the ExecutionContext in 2.0. Fixed
75 GetCompressedStack and made SetCompressedStack available (as internal)
78 2005-04-28 Sebastien Pouliot <sebastien@ximian.com>
80 * AsyncFlowControl.cs: Updated wrt beta2.
81 * ExecutionContext.cs: Updated wrt beta2. Class is now internal in
82 NET_1_1 to allow the compressed stack propagation to other threads.
83 * CompressedStack.cs: Updated wrt beta2. Class is internal in NET_1_1
84 to allow the compressed stack propagation to other threads.
85 * ContextCallback.cs: Updated wrt beta2.
86 * HostExecutionContext.cs: Updated wrt beta2.
87 * HostExecutionContextManager.cs: Updated wrt beta2.
88 * Thread.cs: Added internal property to get the ExecutionContext.
90 2005-04-19 Zoltan Varga <vargaz@freemail.hu>
92 * Thread.cs: Add some unused fields.
94 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
96 * ThreadPool.cs: BindHandle does nothing now.
98 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
100 * Thread.cs: clear the Unstarted bit before calling Start_internal.
103 2005-04-04 Ben Maurer <bmaurer@ximian.com>
105 * Thread.cs: Do argument checking for Current[UI]Culture to make
106 the exception more clear for a null value being set.
108 2005-03-24 Sebastien Pouliot <sebastien@ximian.com>
110 * CompressedStack.cs: Added LinkDemand for UnmanagedCode and ECMA
111 public key on GetCompressedStack method.
112 * Mutex: Added LinkDemand for UnmanagedCode to create named (system
114 * Thread.cs: Added LinkDemand for ECMA public key on [Get|Set]
115 CompressedStack methods.
116 * WaitHandle.cs: Added LinkDemand and InheritanceDemand for
117 UnmanagedCode on set Handle property.
119 2005-03-10 Zoltan Varga <vargaz@freemail.hu>
121 * Thread.cs: Make slothash a ThreadStatic field. Fixes #65414.
123 2005-02-21 Zoltan Varga <vargaz@freemail.hu>
125 * Monitor.cs Interlocked.cs: Add net 2.0 ReliabilityContractAttributes.
127 2005-02-20 Zoltan Varga <vargaz@freemail.hu>
129 * Interlocked.cs: Applied patch from Luca Barbieri (luca.barbieri@gmail.com). Add NET 2.0 methods.
131 Tue Feb 15 18:19:11 CET 2005 Paolo Molaro <lupus@ximian.com>
133 * Thread.cs: make the slothash a field in MonoThread.
135 2005-01-27 Sebastien Pouliot <sebastien@ximian.com>
137 * Overlapped.cs: Added check for ControlPolicy and ControlEvidence for
138 Unsafe pack. Added MonoTODO for missing security stack propagation.
139 * Thread.cs: Add security checks for ControlThread.
140 * ThreadPool.cs: Added declarative security checks.
142 Thu Jan 13 18:15:32 CET 2005 Paolo Molaro <lupus@ximian.com>
144 * Thread.cs: implement stacksize and parameterized
145 start functionality (requires matching runtime).
147 2005-01-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
149 * ThreadAbortException.cs: added private serialization .ctor.
151 2004-12-20 Sebastien Pouliot <sebastien@ximian.com>
153 * CompressedStack.cs: Implemented most todo so it's usable for CAS.
154 * CompressedStackSwitcher.cs: Implemented most todo.
155 * Thread.cs: Implement support for getting/setting CompressedStack.
157 2004-12-15 Zoltan Varga <vargaz@freemail.hu>
159 * Thread.cs: Change type of culture_info and ui_culture_info to
160 IntPtr. Implement correct culture handling for the UI culture as
163 2004-12-14 Zoltan Varga <vargaz@freemail.hu>
165 * Thread.cs: Optimize CurrentCulture to avoid initializing the
166 serialization infrastructure in the common case when the culture is
169 2004-12-06 Zoltan Varga <vargaz@freemail.hu>
171 * Thread.cs: Add new fields 'serialized_culture_info{_len}'.
173 * Thread.cs (CurrentCulture): Fix leaking of culture info objects
174 across appdomains. Partially fixes #50049.
176 2004-12-05 Miguel de Icaza <miguel@ximian.com>
178 * AutoResetEvent.cs (Set, Reset): If we are disposed, throw a
179 ObjectDisposedEvent, helped track the WebConnection destructor
182 2004-09-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
184 * Timer.cs: don't invoke the callback twice when the timer changes.
187 2004-09-08 Marek Safar <marek.safar@seznam.cz>
189 * Interlocked.cs: Class is static in NET_2_0.
191 2004-09-04 Sebastien Pouliot <sebastien@ximian.com>
193 * Thread.cs: Changed an imperative security demand to declarative
194 (unsupported) so it doesn't (for now) call the security runtime.
196 2004-08-20 Sebastien Pouliot <sebastien@ximian.com>
198 * Thread.cs: Added Fx 2.0 properties/methods/attributes.
200 2004-08-12 Sebastien Pouliot <sebastien@ximian.com>
202 * CompressedStackSwitcher.cs: Added missing [ComVisible] and
203 [ReliabilityContract] attributes.
204 * ExecutionContext.cs: Added missing [ComVisible] and
205 [Serializable] attributes.
206 * HostExecutionContext.cs: Added missing [ComVisible] attribute.
207 * HostExecutionContextManager.cs: Added missing [ComVisible] and
208 [ReliabilityContract] attributes.
209 * HostExecutionContextSwitcher.cs: Added missing Equals and
210 GetHashCode methods and [ComVisible] and [ReliabilityContract] attrs.
211 * ParameterizedThreadStart.cs: New delegate in NET_2_0.
212 * SendOrPostCallback.cs: Added missing [ComVisible] attribute.
213 * SynchronizationContext.cs: Added new (2.0 beta1) methods Copy and
214 WaitHelper. Added missing [ComVisible] and [ReliabilityContract] attrs.
215 * SynchronizationContextSwitcher.cs: Added missing [ComVisible] and
216 [ReliabilityContract] attributes.
218 2004-08-08 Sebastien Pouliot <sebastien@ximian.com>
220 * HostExecutionContext.cs: Fx 2.0 stub required for AppDomain.
221 * HostExecutionContextManager.cs: Fx 2.0 stub required for AppDomain.
222 * HostExecutionContextSwitcher.cs: Fx 2.0 stub required for AppDomain.
224 2004-08-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
226 * Timer.cs: don't invoke the callback if the period changes before the
227 due time. Fixes bug #62421.
229 2004-07-27 Lluis Sanchez Gual <lluis@novell.com>
231 * ExecutionContext.cs, ExecutionContextSwitcher.cs,
232 SynchronizationContext.cs, SynchronizationContextSwitcher.cs: Added
235 2004-07-15 Dick Porter <dick@ximian.com>
237 * Thread.cs: Hold a lock in GetNamedDataSlot. Fixes bug 61582,
238 based on patch by Sbastien Robitaille
239 (sebastien.robitaille@croesus.com). Also fix instances of
240 lock(typeof(Thread)) to lock a private object instead.
242 2004-07-14 Sebastien Pouliot <sebastien@ximian.com>
244 * AsyncFlowControl.cs: New structure in Fx 2.0 required in
245 System.Security namespace.
246 * CompressedStackSwitcher.cs: New structure in Fx 2.0 required in
247 System.Security namespace.
248 * ContextCallback.cs: New delegate in Fx 2.0 required in
249 System.Security namespace.
250 * CompressedStack.cs: Updated API for NET_2_0 profile.
252 2004-07-10 Lluis Sanchez Gual <lluis@ximian.com>
254 * SendOrPostCallback.cs: New delegate.
256 2004-06-24 Dick Porter <dick@ximian.com>
258 * Mutex.cs: Implement the createdNew parameter
260 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
262 * Thread.cs: changed return type of VolatileRead to UIntPtr
263 * ThreadPool.cs: set return type of SetMinThreads to bool
265 2004-06-15 Lluis Sanchez Gual <lluis@ximian.com>
267 * Thread.cs: Added new fields to keep sync with MonoThread.
268 Removed state changes in Sleep and Join. The state change is now done
269 in the icall. For accessing to internal fields lock with synch_lock
270 instead of this, which can be a source of deadlocks.
272 2004-06-15 Lluis Sanchez Gual <lluis@ximian.com>
274 * Timer.cs: Don't abort the thread if Dispose() is called from the runner
277 2004-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
280 (CurrentPrincipal): lock on CurrentThread, not typeof (Thread) and set
281 the thread IPrincipal if we get it from the AppDomain.
283 2004-06-09 Gert Driesen <drieseng@users.sourceforge.net>
285 * CompressedStack.cs: Added finalizer to match public API of
288 2004-05-19 Lluis Sanchez Gual <lluis@ximian.com>
290 * Thread.cs: Some fixes in Abort. Implemented Suspend and Resume.
291 Added internal interruption_requested field.
293 2004-05-13 Sebastien Pouliot <sebastien@ximian.com>
295 * CompressedStack.cs: Added an internal constructor so a default one
296 doesn't appear with corcompare.
297 * Thread.cs: Added missing MemoryBarrier (only for 1.1) and SpinWait to please
298 corcompare. Both throw a NotImplementedException.
299 * ThreadPool.cs: Added missing UnsafeRegisterWaitForSingleObject methods (4
300 overloads) to please corcompare. All throw a NotImplementedException.
302 2004-05-12 Zoltan Varga <vargaz@freemail.hu>
304 * CompressedStack.cs: New file.
306 2004-04-15 Lluis Sanchez Gual <lluis@ximian.com>
308 * ThreadPool.cs: Added GetMinThreads and SetMinThreads.
309 * Timer.cs: In Change, return false if the timer has been disposed.
310 In Dispose, notify the WaitHandle.
312 2004-04-11 Lluis Sanchez Gual <lluis@ximian.com>
314 * ReaderWriterLock.cs: More fixes: never wait where acquiring a reader lock
315 if the thread already has the lock. Added readyWaitingReaders variable to
316 keep track of threads ready to get the reader lock.
318 2004-04-11 Lluis Sanchez Gual <lluis@ximian.com>
320 * LockQueue.cs: Moved lockCount change inside the rwlock lock. Removed
321 lock(this) when entering the rwlock to avoid a deadlock.
322 * ReaderWriterLock.cs: In AcquireWriterLock, queue the thread if the queue
323 is not empty (even if state==0).
325 2004-04-09 Zoltan Varga <vargaz@freemail.hu>
327 * Timer.cs: Call the callback immediately if dueTime is 0. Fixes
330 2004-04-08 Jackson Harper <jackson@ximian.com>
332 * ReaderWriterLock.cs: Fix tyop
334 2004-04-08 Lluis Sanchez Gual <lluis@ximian.com>
336 * ReaderWriterLock.cs: Changed some methods to private.
337 * WaitHandle.cs: In Wait methods, release the synchronization context when
340 2004-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
342 * Timer.cs: call Abort on the Runner instance too.
344 2004-04-07 Jackson Harper <jackson@ximian.com>
346 * Thread.cs: Use new culture info method for constructing the
349 2004-04-07 Lluis Sanchez Gual <lluis@ximian.com>
351 * ReaderWriterLock.cs: When a thread holds a writer lock, a call to
352 AcquireReaderLock works like a call to AcquireWriterLock.
354 2004-04-06 Lluis Sanchez Gual <lluis@ximian.com>
356 * Monitor.cs: In Wait(), release the synchronization context when
359 2004-04-06 Lluis Sanchez Gual <lluis@ximian.com>
361 * LockCookie.cs: Keep in this class the count of reader or writer locks
362 for a thread, not only whether it has locks or not.
363 * LockQueue.cs: Added property for checking if a thread is waiting in
364 the queue. Wait now returns a boolean that set to false on timeout
366 * ReaderWriterLock.cs: Started fixing bugs but I had to rewrite a lot of it.
367 The main change is that now it keeps a reader lock count for each
368 thread. This is needed since methods like ReleaseLock or
369 UpgradeToWriterLock need to return a per-thread status in LockCookie.
370 Also added support for recursive writer-lock requests.
372 2004-03-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
374 * ThreadAbortException.cs: use same HResult as MS.
375 * Timer.cs: abort the running thread when disposing the Timer. This
376 fixes NullRefs when finishing xsp.
378 2004-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
380 * NativeOverlapped.cs: added 2 new internal fields.
381 * Overlapped.cs: implemented, but it's not used.
383 * ThreadPool.cs: implemented BindHandle.
385 2004-03-08 Zoltan Varga <vargaz@freemail.hu>
387 * Timer.cs (Dispose): Applied patch from Jaroslaw Kowalski
388 (jaak@zd.com.pl). Fix finalization problems during appdomain unload.
390 2004-02-23 Jackson Harper <jackson@ximian.com>
392 * LockCookie.cs: Add some fields for restoring locks.
393 * ReaderWriterLock.cs: Implement
394 * LockQueue.cs: New File - used for queueing thread locks in
397 2004-02-19 Jackson Harper <jackson@ximian.com>
399 * Monitor.cs: Fix spelleng.
401 2004-02-09 Zoltan Varga <vargaz@freemail.hu>
403 * Thread.cs: Add fields added to unmanaged MonoThread here as well.
404 Fixes random errors caused by memory corruption.
406 2004-02-06 Zoltan Varga <vargaz@freemail.hu>
408 * Thread.cs: Store the thread name in unmanaged memory, since the
409 thread object is shared between appdomains.
411 2004-02-05 Sebastien Pouliot <sebastien@ximian.com>
413 * Thread.cs: Implemented CurrentPrincipal.
415 2004-01-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
417 * Thread.cs: delayed thread creation until Start is called. If we
418 don't do that and Start() is not called, the thread is leaked. First
419 step towards fixing bug #53078.
421 2003-12-02 Dick Porter <dick@ximian.com>
423 * Thread.cs: Throw InvalidOperationException if Thread.Name is
426 2003-12-01 Dick Porter <dick@ximian.com>
428 * Thread.cs: Implement CurrentCulture and CurrentUICulture
430 2003-11-12 Miguel de Icaza <miguel@ximian.com>
432 * Thread.cs: Add new VolatileRead/VolatileWrite methods from 1.1
434 2003-10-23 Lluis Sanchez Gual <lluis@ximian.com>
436 * Thread.cs: Added ResetDataStoreStatus and RestoreDataStoreStatus
437 methods. They are used in CrossAppDomainChannel to save and restore
438 thread's local data when switching between domains.
440 2003-10-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
442 * ManualResetEvent.cs: added check for disposed.
443 * Thread.cs: no need to init this field.
445 2003-10-01 Zoltan Varga <vargaz@freemail.hu>
447 * Thread.cs: Add locking to AllocateNamedDataSlot and
450 Wed Aug 20 12:01:36 CEST 2003 Paolo Molaro <lupus@ximian.com>
452 * Thread.cs: put all the fields at the start and add
453 more fields needed by the runtime.
455 2003-08-14 Lluis Sanchez Gual <lluis@ximian.com>
457 * Thread.cs: SetData() method: use Hashtable.Contains to check
458 if a dataslot has been allocated (value could be null).
460 2003-07-23 Duncan Mak <duncan@ximian.com>
462 * WaitHandle.cs (CheckDisposed): This method is not in the public
463 API, mark it as 'internal'.
465 2003-07-01 Dick Porter <dick@ximian.com>
467 * Thread.cs: Throw an exception if thread creation failed.
468 (Better than just blowing up later.)
470 2003-06-27 Dietmar Maurer <dietmar@ximian.com>
472 * ThreadPool.cs: use async delegate invoke.
474 2003-06-25 Dick Porter <dick@ximian.com>
476 * WaitHandle.cs: Default handle value should be InvalidHandle, not
479 2003-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
481 * ThreadPool.cs: correctly create a TimeSpan with provided the number of
484 * WaitHandle.cs: fixes for WaitAny/All and TimeSpan.
486 2003-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
488 * WaitHandle.cs: checks and exceptions.
490 2003-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
492 * NativeEventCalls.cs: added CloseEvent_intenal.
493 * WaitHandle.cs: call CloseEvent_internal when disposing.
495 2003-05-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
497 * RegisteredWaitHandle.cs: check that the callback is not null before
500 * ThreadPool.cs: fixed timeout -> TimeSpan conversions (closes bug
501 #43963). Queue the item before setting the handle. If there's a timeout,
502 avoid trying to Dequeue, getting the exception et al, just continue the
505 Mon May 19 09:07:45 CEST 2003 Paolo Molaro <lupus@ximian.com>
507 * Monitor.cs: removed test_owner, the check is already done in the
510 Tue May 13 15:34:29 CEST 2003 Paolo Molaro <lupus@ximian.com>
512 * Thread.cs: added missing field used by the runtime and
513 a new field to support thread-static data.
515 2003-04-17 Pedro Mart�ez Juli� <yoros@wanadoo.es>
517 * Timer.cs: Change the position of two lines because they were
518 before the "if" that ensures the integrity. After this, the first of
519 that two lines was producing a NullReferenceException.
521 2003-04-09 Dick Porter <dick@ximian.com>
523 * Thread.cs: Make sure a reference to the ThreadStart delegate is
524 held. There's no telling how long it will be before
525 Thread.Start() is called, and GC might destroy the delegate.
526 Thread() and Start() need to be rewritten so that the runtime
527 creates the new thread when Start() is called, which will simplify
528 the code a great deal.
530 2003-03-20 Miguel de Icaza <miguel@ximian.com>
532 * Thread.cs (CurrentCuluture): use the invaraint culture instead
533 of "" for the current_culture setting.
535 2003-03-25 Zoltan Varga <vargaz@freemail.hu>
537 * Thread.cs: Fix visibility of ResetAbort().
539 2003-03-18 Dick Porter <dick@ximian.com>
541 * Thread.cs: Keep the thread state updated in all the places that
542 require it. (Suspend, Resume and Interrupt not handled yet)
544 2003-03-03 Lluis Sanchez Gual <lluis@ideary.com>
546 * Thread.cs: Changed implementation of CurrentContext, adapted to the changes
549 2003-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
551 * Thread.cs: implemented CurrentContext.
553 2003-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
555 * Thread.cs: made the thread_id for the current thread accesible through
556 an internal property.
558 2003-02-17 Dick Porter <dick@ximian.com>
560 * Thread.cs: Added the Start semaphore field to the class. Update
561 the thread state after Start() has returned, not before.
563 2003-02-13 Zoltan Varga <vargaz@freemail.hu>
565 * Thread.cs (Sleep): Timeout.Infinite is a value argument.
567 2003-02-11 Dick Porter <dick@ximian.com>
569 * Monitor.cs: Infinite wait is Infinite, not 0 ms
571 2003-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
573 * Thread.cs: fixed bug #37759.
575 2003-02-07 Patrik Torstensson
577 * Timer.cs: Set the Background thread flag for the timer thread
579 2003-02-05 Patrik Torstensson
581 * ThreadPool.cs: Reformated and fixed issue that made all thread exit the pool.
583 2003-02-04 Lluis Sanchez Gual <lluis@ideary.com>
585 * ThreadPool.cs: Implemented RegisterWaitForSingleObject methods.
587 Tue Jan 28 17:55:59 CET 2003 Paolo Molaro <lupus@ximian.com>
589 * Thread.cs: delay-init datastorehash.
591 2003-01-10 Patrik Torstensson <totte@race-x-change.com>
593 * ThreadPool.cs: Temporary removed the usage of monitor thread, implemented a
594 model more equal to the MS one.
596 2002-12-10 Dick Porter <dick@ximian.com>
602 * WaitHandle.cs: Use TotalMilliseconds to convert a TimeSpan to
603 ms, not Milliseconds.
605 2002-12-07 Martin Baulig <martin@ximian.com>
607 * Timer.cs: Make it actually work; now it no longer sets your
608 application on fire if you use a zero periode and Timer.Change()
611 2002-11-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
613 * Timer.cs: implemented more stuff. It works now.
615 2002-10-25 Zoltan Varga <vargaz@freemail.hu>
617 * Thread.cs: Implement GetDomain() and GetDomainID().
619 2002-10-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
621 * ThreadPool.cs: now the monitor thread is not sleeping and checking if
622 more worker threads needed. It waits on _DataInQueue. If (and only if)
623 there's data in the queue it checks if more worker threads needed and
624 then sleeps 0.5s before waiting for queued data again.
626 2002-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
628 * ThreadPool.cs: set IsThreadPoolThread before starting the worker.
630 2002-09-11 Dick Porter <dick@ximian.com>
633 * ManualResetEvent.cs:
634 * AutoResetEvent.cs: Use the WaitHandle.Handle property instead of
637 * WaitHandle.cs: Hide the os_handle field and the WaitOne_internal
640 2002-09-03 Dick Porter <dick@ximian.com>
642 * Thread.cs: Added thread ID field
644 2002-08-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
646 * WaitHandle.cs: IDisposable fixes.
648 2002-08-14 Dick Porter <dick@ximian.com>
650 * Thread.cs: Make CurrentUICulture act the same as CurrentCulture
653 2002-08-12 Dietmar Maurer <dietmar@ximian.com>
655 * ThreadAbortException.cs: impl. ExceptionState property.
657 * Thread.cs: moved all instance variables to the start of the
658 class. added support for Thread::Abort()
660 2002-04-30 Dick Porter <dick@ximian.com>
662 * Thread.cs: If LocalDataStoreSlot already has data set, remove it
663 before adding a new one.
665 Use the Thread object destructor to tell the runtime to close the
668 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
670 * Interlocked.cs: made all methods icalls.
672 2002-04-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
674 * IOCompletionCallback.cs: added attributes to the delegate
675 (CLSCompliant(false) and Serializable).
677 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
678 * Thread.cs: Fixed IsThreadPoolThread to use a internal property instead of extending
679 the threadstate enum.
680 * ThreadPool.cs: Now using the internal Isthreadpoolthread property
681 * ThreadState.cs: removed non-standard enum (ThreadPoolThread)
683 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
685 * ThreadState.cs: Added enum for threadpool thread
686 * Thread.cs: changed the set/clr_state to be internal (used from threadpool)
687 * Thread.cs: Added IsThreadPoolThread
688 * ThreadPool.cs: Implementation of QueueUserWorkItem
690 Wed Feb 13 21:51:30 CET 2002 Paolo Molaro <lupus@ximian.com>
692 * Thread.cs: implement CurrentCulture property needed by
693 Convert.ChangeType() (used when compiling enums).
695 2002-01-23 Dick Porter <dick@ximian.com>
697 * ManualResetEvent.cs:
698 * AutoResetEvent.cs: Fixed DOS line endings
700 2002-01-22 Veronica De Santis <veron78@interfree.it>
702 * NativeEventCalls : Class that contains internal calls shared by Auto
703 and Manual Reset Events
704 * AutoResetEvents.cs : Added class AutoResetEvents and its implementation
705 * ManualResetEvents.cs : Added class ManualResetEvents and its implementation
707 2002-01-16 Veronica De Santis <veron78@interfree.it>
709 * WaitHandle.cs : Renamed handle to os_handle and make it protected
711 * Mutex.cs : Write the System.Threading.Mutex methods ( constructors
712 and the ReleaseMutex)
714 2002-01-15 Dick Porter <dick@ximian.com>
717 * Thread.cs: Make the runtime's idea of infinite timeouts coincide
718 with the class library's
720 2002-01-10 Dick Porter <dick@ximian.com>
722 * WaitHandle.cs: Added checks for too many handles and null
723 handles in WaitAll() and WaitAny
726 2002-01-05 Ravi Pratap <ravi@ximian.com>
728 * AutoResetEvent.cs, ManualResetEvent.cs, Monitor.cs : MonoTODO
731 * Mutex.cs, Overlapped.cs, ReaderWriterLock.cs, RegisteredWaitHandle.cs,
732 Thread.cs, ThreadAbortException.cs, ThreadPool.cs, Timer.cs, WaitHandler.cs : Ditto.
734 2001-12-11 Dick Porter <dick@ximian.com>
736 * WaitHandle.cs: Implemented WaitAll(), WaitAny() and WaitOne() as
739 2001-11-26 Dick Porter <dick@ximian.com>
741 * Thread.cs: DataSlot uses a single system TLS slot, and a
742 hashtable per thread. Some minor changes to reflect the new
743 internal calls using the new IO library, and the newly-supported
744 bool returns from internal calls.
746 * Monitor.cs: Use bool returns from internal calls now they are
747 supported by the runtime. Coalesce enter with the try_enter
750 Wed Nov 14 17:06:18 CET 2001 Paolo Molaro <lupus@ximian.com>
752 * Overlapped.cs, ThreadPool.cs, Timer.cs: CLSCompliant updates.
754 2001-10-03 Dick Porter <dick@ximian.com>
756 * Monitor.cs: Implemented all methods except the two Wait()
757 methods that take boolean parameters
759 2001-09-28 Dick Porter <dick@ximian.com>
761 * Thread.cs: Implemented AllocateDataSlot(),
762 AllocateNamedDataSlot(), FreeNamedDataSlot(), GetData(),
763 GetNamedDataSlot(), SetData(), IsBackground. Reworked Thread()
764 and Start() to avoid a race condition. Added thread-safe state
765 changing private operations.
767 * Monitor.cs: Comment out the GetType() calls because it isn't implemented yet
769 2001-09-25 Dick Porter <dick@ximian.com>
771 * Thread.cs: Implement Join and timed Join, set correct state
772 around Start, Join and Sleep calls, implement IsAlive and
773 ThreadState properties.
775 * ThreadState.cs (Threading): Added StopRequested,
776 SuspendRequested, Suspended values
778 2001-09-23 Dick Porter <dick@ximian.com>
780 * Thread.cs: Implemented CurrentThread and Sleep (both versions)
781 with internal calls, and Name.
783 2001-09-21 Dick Porter <dick@ximian.com>
785 * Thread.cs: Implement Thread(ThreadStart) constructor and Start()
786 with an internal call
788 * WaitHandle.cs: Close calls Dispose(false)
790 2001-09-13 Dick Porter <dick@ximian.com>
792 * ApartmentState.cs (Threading): Set the correct enum values
794 2001-09-13 Dick Porter <dick@ximian.com>
796 * ApartmentState.cs, AutoResetEvent.cs, IOCompletionCallback.cs,
797 Interlocked.cs, LockCookie.cs, ManualResetEvent.cs, Monitor.cs,
798 Mutex.cs, NativeOverlapped.cs, Overlapped.cs, ReaderWriterLock.cs,
799 RegisteredWaitHandle.cs, SynchronizationLockException.cs,
800 Thread.cs, ThreadAbortException.cs, ThreadInterruptedException.cs,
801 ThreadPool.cs, ThreadStart.cs, ThreadStateException.cs,
802 Timeout.cs, Timer.cs, TimerCallback.cs, WaitCallback.cs,
803 WaitHandle.cs, WaitOrTimerCallback.cs: System.Threading class
806 2001-07-18 Michael Lambert <michaellambert@email.com>
808 * ThreadPriority.cs, ThreadState.cs: Add.