1 2005-10-23 Marek Safar <marek.safar@seznam.cz>
3 * SynchronizationContext.cs: A few simple fixes.
5 2005-10-06 Sebastien Pouliot <sebastien@ximian.com>
7 * Thread.cs: Copy an existing IPrincipal to new threads. Fix bug
10 2005-10-06 Sebastien Pouliot <sebastien@ximian.com>
12 * Thread.cs: Added new attributes, [ReliabilityContract] for
13 destructor and [Obsolete] for [Get|Set]CompressedStack, that were
16 2005-09-11 Zoltan Varga <vargaz@gmail.com>
18 * Thread.cs (MemoryBarrier): Make this an icall.
20 2005-09-10 Zoltan Varga <vargaz@gmail.com>
22 * Thread.cs (Interrupt): Make this throw a NotImplementedException.
24 2005-09-09 Martin Baulig <martin@ximian.com>
26 * Timer.cs (Timer.Runner.Start): Silently catch
27 ObjectDisposedException and return; works around some race
28 condition on thread abort.
30 2005-08-19 Dick Porter <dick@ximian.com>
32 * Thread.cs: Reserve 64 bits for the thread ID.
34 2005-07-19 Martin Baulig <martin@ximian.com>
36 * Timer.cs (Timer.Runner.Start): Fix a race condition which was
37 causing a hang on exit int he debugger: check `!disposed' before
38 `start_event.WaitOne ()' and again after it.
40 2005-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
42 * Thread.cs: check that the culture is valid for formatting
43 (ie, (!neutral || invariant)).
45 2005-06-07 Sebastien Pouliot <sebastien@ximian.com>
47 * Thread.cs: Added _Thread interface (and members) and a few missing
48 attributes (for both 1.1 and 2.0).
50 2005-06-06 Zoltan Varga <vargaz@freemail.hu>
52 * Thread.cs Mutex.cs Monitor.cs: Add some missing 2.0 attributes.
54 2005-05-29 Sebastien Pouliot <sebastien@ximian.com>
56 * Timer.cs: Added new constructor for 2.0 and ComVisible attribute.
57 * Timeout.cs: This is a static class in 2.0 and ComVisible attribute.
59 2005-05-26 Ben Maurer <bmaurer@ximian.com>
61 * Thread.cs: Use a static object for a lock rather than
64 2005-05-26 Sebastien Pouliot <sebastien@ximian.com>
66 * SynchronizationContext.cs: Re-introduced SendOrPost method as it's
67 being used in System.Web.Services.
69 2005-05-26 Sebastien Pouliot <sebastien@ximian.com>
71 * SynchronizationContext.cs: Updated to beta2 API so it doesn't depend
72 on the switcher structure anymore (which will be removed from the
75 2005-05-24 Sebastien Pouliot <sebastien@ximian.com>
77 * Thread.cs: Removed #pragma which aren't supported by CSC 7.x.
79 2005-05-20 Sebastien Pouliot <sebastien@ximian.com>
81 * AsyncFlowControl.cs: Now available, as internal, in NET_1_1. This is
82 required to get some methods from SecurityContext and ExecutionContext
84 * CompressedStack.cs: Now includes the current CompressedStack in a new
86 * ExecutionContext.cs: Includes more methods in NET_1_1 to enable
87 ThreadPool.UnsafeQueueUserWorkItem to work properly (i.e. without
89 * Thread.cs: Made ExecutionContext field accessible from the runtime.
90 Added stack propagation when Thread.Start is called.
91 * ThreadPool.cs: QueueUserWorkItem now does stack propagation (done in
92 the runtime), so I "fixed" UnsafeQueueUserWorkItem not to do so.
94 2005-05-19 Miguel de Icaza <miguel@novell.com>
96 * Thread.cs: REmove warnings.
98 2005-05-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
100 * Thread.cs: first check for null, then set in_currentculture.
102 2005-05-12 Lluis Sanchez Gual <lluis@novell.com>
104 * Thread.cs: Moved all checks done inside sync_lock to unmanaged code.
105 Merged Thread_internal and Start_internal into a single icall, which
108 2005-05-11 Sebastien Pouliot <sebastien@ximian.com>
110 * CompressedStack.cs: Allow merging of an existing CompressedStack
111 with the actual stack of the current Thread.
112 * Thread.cs: GetCompressedStack and SetCompressedStack are public
113 before 2.0 but couldn't be seen with mono-api-info because of it's
114 LinkDemand for the ECMA public key. Removed unused CompressedStack
115 private field (now part of the ExecutionContext).
117 2005-05-09 Sebastien Pouliot <sebastien@ximian.com>
119 * CompressedStack.cs: GetCompressedStack is public before 2.0 but
120 couldn't be seen with mono-api-info because of it's LinkDemand for
121 the ECMA public key. Stack capture occurs here if none exists on the
124 2005-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
126 * ReaderWriterLock.cs: fix random ApplicationException errors. Tested
127 with the System.Web.Cache stress program. Patch by Eyal Alayuf
128 (Mainsoft). Fixes 74598.
130 2005-04-28 Sebastien Pouliot <sebastien@ximian.com>
132 * Thread.cs: Added property to get the ExecutionContext in 2.0. Fixed
133 GetCompressedStack and made SetCompressedStack available (as internal)
136 2005-04-28 Sebastien Pouliot <sebastien@ximian.com>
138 * AsyncFlowControl.cs: Updated wrt beta2.
139 * ExecutionContext.cs: Updated wrt beta2. Class is now internal in
140 NET_1_1 to allow the compressed stack propagation to other threads.
141 * CompressedStack.cs: Updated wrt beta2. Class is internal in NET_1_1
142 to allow the compressed stack propagation to other threads.
143 * ContextCallback.cs: Updated wrt beta2.
144 * HostExecutionContext.cs: Updated wrt beta2.
145 * HostExecutionContextManager.cs: Updated wrt beta2.
146 * Thread.cs: Added internal property to get the ExecutionContext.
148 2005-04-19 Zoltan Varga <vargaz@freemail.hu>
150 * Thread.cs: Add some unused fields.
152 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
154 * ThreadPool.cs: BindHandle does nothing now.
156 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
158 * Thread.cs: clear the Unstarted bit before calling Start_internal.
161 2005-04-04 Ben Maurer <bmaurer@ximian.com>
163 * Thread.cs: Do argument checking for Current[UI]Culture to make
164 the exception more clear for a null value being set.
166 2005-03-24 Sebastien Pouliot <sebastien@ximian.com>
168 * CompressedStack.cs: Added LinkDemand for UnmanagedCode and ECMA
169 public key on GetCompressedStack method.
170 * Mutex: Added LinkDemand for UnmanagedCode to create named (system
172 * Thread.cs: Added LinkDemand for ECMA public key on [Get|Set]
173 CompressedStack methods.
174 * WaitHandle.cs: Added LinkDemand and InheritanceDemand for
175 UnmanagedCode on set Handle property.
177 2005-03-10 Zoltan Varga <vargaz@freemail.hu>
179 * Thread.cs: Make slothash a ThreadStatic field. Fixes #65414.
181 2005-02-21 Zoltan Varga <vargaz@freemail.hu>
183 * Monitor.cs Interlocked.cs: Add net 2.0 ReliabilityContractAttributes.
185 2005-02-20 Zoltan Varga <vargaz@freemail.hu>
187 * Interlocked.cs: Applied patch from Luca Barbieri (luca.barbieri@gmail.com). Add NET 2.0 methods.
189 Tue Feb 15 18:19:11 CET 2005 Paolo Molaro <lupus@ximian.com>
191 * Thread.cs: make the slothash a field in MonoThread.
193 2005-01-27 Sebastien Pouliot <sebastien@ximian.com>
195 * Overlapped.cs: Added check for ControlPolicy and ControlEvidence for
196 Unsafe pack. Added MonoTODO for missing security stack propagation.
197 * Thread.cs: Add security checks for ControlThread.
198 * ThreadPool.cs: Added declarative security checks.
200 Thu Jan 13 18:15:32 CET 2005 Paolo Molaro <lupus@ximian.com>
202 * Thread.cs: implement stacksize and parameterized
203 start functionality (requires matching runtime).
205 2005-01-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
207 * ThreadAbortException.cs: added private serialization .ctor.
209 2004-12-20 Sebastien Pouliot <sebastien@ximian.com>
211 * CompressedStack.cs: Implemented most todo so it's usable for CAS.
212 * CompressedStackSwitcher.cs: Implemented most todo.
213 * Thread.cs: Implement support for getting/setting CompressedStack.
215 2004-12-15 Zoltan Varga <vargaz@freemail.hu>
217 * Thread.cs: Change type of culture_info and ui_culture_info to
218 IntPtr. Implement correct culture handling for the UI culture as
221 2004-12-14 Zoltan Varga <vargaz@freemail.hu>
223 * Thread.cs: Optimize CurrentCulture to avoid initializing the
224 serialization infrastructure in the common case when the culture is
227 2004-12-06 Zoltan Varga <vargaz@freemail.hu>
229 * Thread.cs: Add new fields 'serialized_culture_info{_len}'.
231 * Thread.cs (CurrentCulture): Fix leaking of culture info objects
232 across appdomains. Partially fixes #50049.
234 2004-12-05 Miguel de Icaza <miguel@ximian.com>
236 * AutoResetEvent.cs (Set, Reset): If we are disposed, throw a
237 ObjectDisposedEvent, helped track the WebConnection destructor
240 2004-09-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
242 * Timer.cs: don't invoke the callback twice when the timer changes.
245 2004-09-08 Marek Safar <marek.safar@seznam.cz>
247 * Interlocked.cs: Class is static in NET_2_0.
249 2004-09-04 Sebastien Pouliot <sebastien@ximian.com>
251 * Thread.cs: Changed an imperative security demand to declarative
252 (unsupported) so it doesn't (for now) call the security runtime.
254 2004-08-20 Sebastien Pouliot <sebastien@ximian.com>
256 * Thread.cs: Added Fx 2.0 properties/methods/attributes.
258 2004-08-12 Sebastien Pouliot <sebastien@ximian.com>
260 * CompressedStackSwitcher.cs: Added missing [ComVisible] and
261 [ReliabilityContract] attributes.
262 * ExecutionContext.cs: Added missing [ComVisible] and
263 [Serializable] attributes.
264 * HostExecutionContext.cs: Added missing [ComVisible] attribute.
265 * HostExecutionContextManager.cs: Added missing [ComVisible] and
266 [ReliabilityContract] attributes.
267 * HostExecutionContextSwitcher.cs: Added missing Equals and
268 GetHashCode methods and [ComVisible] and [ReliabilityContract] attrs.
269 * ParameterizedThreadStart.cs: New delegate in NET_2_0.
270 * SendOrPostCallback.cs: Added missing [ComVisible] attribute.
271 * SynchronizationContext.cs: Added new (2.0 beta1) methods Copy and
272 WaitHelper. Added missing [ComVisible] and [ReliabilityContract] attrs.
273 * SynchronizationContextSwitcher.cs: Added missing [ComVisible] and
274 [ReliabilityContract] attributes.
276 2004-08-08 Sebastien Pouliot <sebastien@ximian.com>
278 * HostExecutionContext.cs: Fx 2.0 stub required for AppDomain.
279 * HostExecutionContextManager.cs: Fx 2.0 stub required for AppDomain.
280 * HostExecutionContextSwitcher.cs: Fx 2.0 stub required for AppDomain.
282 2004-08-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
284 * Timer.cs: don't invoke the callback if the period changes before the
285 due time. Fixes bug #62421.
287 2004-07-27 Lluis Sanchez Gual <lluis@novell.com>
289 * ExecutionContext.cs, ExecutionContextSwitcher.cs,
290 SynchronizationContext.cs, SynchronizationContextSwitcher.cs: Added
293 2004-07-15 Dick Porter <dick@ximian.com>
295 * Thread.cs: Hold a lock in GetNamedDataSlot. Fixes bug 61582,
296 based on patch by Sbastien Robitaille
297 (sebastien.robitaille@croesus.com). Also fix instances of
298 lock(typeof(Thread)) to lock a private object instead.
300 2004-07-14 Sebastien Pouliot <sebastien@ximian.com>
302 * AsyncFlowControl.cs: New structure in Fx 2.0 required in
303 System.Security namespace.
304 * CompressedStackSwitcher.cs: New structure in Fx 2.0 required in
305 System.Security namespace.
306 * ContextCallback.cs: New delegate in Fx 2.0 required in
307 System.Security namespace.
308 * CompressedStack.cs: Updated API for NET_2_0 profile.
310 2004-07-10 Lluis Sanchez Gual <lluis@ximian.com>
312 * SendOrPostCallback.cs: New delegate.
314 2004-06-24 Dick Porter <dick@ximian.com>
316 * Mutex.cs: Implement the createdNew parameter
318 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
320 * Thread.cs: changed return type of VolatileRead to UIntPtr
321 * ThreadPool.cs: set return type of SetMinThreads to bool
323 2004-06-15 Lluis Sanchez Gual <lluis@ximian.com>
325 * Thread.cs: Added new fields to keep sync with MonoThread.
326 Removed state changes in Sleep and Join. The state change is now done
327 in the icall. For accessing to internal fields lock with synch_lock
328 instead of this, which can be a source of deadlocks.
330 2004-06-15 Lluis Sanchez Gual <lluis@ximian.com>
332 * Timer.cs: Don't abort the thread if Dispose() is called from the runner
335 2004-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
338 (CurrentPrincipal): lock on CurrentThread, not typeof (Thread) and set
339 the thread IPrincipal if we get it from the AppDomain.
341 2004-06-09 Gert Driesen <drieseng@users.sourceforge.net>
343 * CompressedStack.cs: Added finalizer to match public API of
346 2004-05-19 Lluis Sanchez Gual <lluis@ximian.com>
348 * Thread.cs: Some fixes in Abort. Implemented Suspend and Resume.
349 Added internal interruption_requested field.
351 2004-05-13 Sebastien Pouliot <sebastien@ximian.com>
353 * CompressedStack.cs: Added an internal constructor so a default one
354 doesn't appear with corcompare.
355 * Thread.cs: Added missing MemoryBarrier (only for 1.1) and SpinWait to please
356 corcompare. Both throw a NotImplementedException.
357 * ThreadPool.cs: Added missing UnsafeRegisterWaitForSingleObject methods (4
358 overloads) to please corcompare. All throw a NotImplementedException.
360 2004-05-12 Zoltan Varga <vargaz@freemail.hu>
362 * CompressedStack.cs: New file.
364 2004-04-15 Lluis Sanchez Gual <lluis@ximian.com>
366 * ThreadPool.cs: Added GetMinThreads and SetMinThreads.
367 * Timer.cs: In Change, return false if the timer has been disposed.
368 In Dispose, notify the WaitHandle.
370 2004-04-11 Lluis Sanchez Gual <lluis@ximian.com>
372 * ReaderWriterLock.cs: More fixes: never wait where acquiring a reader lock
373 if the thread already has the lock. Added readyWaitingReaders variable to
374 keep track of threads ready to get the reader lock.
376 2004-04-11 Lluis Sanchez Gual <lluis@ximian.com>
378 * LockQueue.cs: Moved lockCount change inside the rwlock lock. Removed
379 lock(this) when entering the rwlock to avoid a deadlock.
380 * ReaderWriterLock.cs: In AcquireWriterLock, queue the thread if the queue
381 is not empty (even if state==0).
383 2004-04-09 Zoltan Varga <vargaz@freemail.hu>
385 * Timer.cs: Call the callback immediately if dueTime is 0. Fixes
388 2004-04-08 Jackson Harper <jackson@ximian.com>
390 * ReaderWriterLock.cs: Fix tyop
392 2004-04-08 Lluis Sanchez Gual <lluis@ximian.com>
394 * ReaderWriterLock.cs: Changed some methods to private.
395 * WaitHandle.cs: In Wait methods, release the synchronization context when
398 2004-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
400 * Timer.cs: call Abort on the Runner instance too.
402 2004-04-07 Jackson Harper <jackson@ximian.com>
404 * Thread.cs: Use new culture info method for constructing the
407 2004-04-07 Lluis Sanchez Gual <lluis@ximian.com>
409 * ReaderWriterLock.cs: When a thread holds a writer lock, a call to
410 AcquireReaderLock works like a call to AcquireWriterLock.
412 2004-04-06 Lluis Sanchez Gual <lluis@ximian.com>
414 * Monitor.cs: In Wait(), release the synchronization context when
417 2004-04-06 Lluis Sanchez Gual <lluis@ximian.com>
419 * LockCookie.cs: Keep in this class the count of reader or writer locks
420 for a thread, not only whether it has locks or not.
421 * LockQueue.cs: Added property for checking if a thread is waiting in
422 the queue. Wait now returns a boolean that set to false on timeout
424 * ReaderWriterLock.cs: Started fixing bugs but I had to rewrite a lot of it.
425 The main change is that now it keeps a reader lock count for each
426 thread. This is needed since methods like ReleaseLock or
427 UpgradeToWriterLock need to return a per-thread status in LockCookie.
428 Also added support for recursive writer-lock requests.
430 2004-03-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
432 * ThreadAbortException.cs: use same HResult as MS.
433 * Timer.cs: abort the running thread when disposing the Timer. This
434 fixes NullRefs when finishing xsp.
436 2004-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
438 * NativeOverlapped.cs: added 2 new internal fields.
439 * Overlapped.cs: implemented, but it's not used.
441 * ThreadPool.cs: implemented BindHandle.
443 2004-03-08 Zoltan Varga <vargaz@freemail.hu>
445 * Timer.cs (Dispose): Applied patch from Jaroslaw Kowalski
446 (jaak@zd.com.pl). Fix finalization problems during appdomain unload.
448 2004-02-23 Jackson Harper <jackson@ximian.com>
450 * LockCookie.cs: Add some fields for restoring locks.
451 * ReaderWriterLock.cs: Implement
452 * LockQueue.cs: New File - used for queueing thread locks in
455 2004-02-19 Jackson Harper <jackson@ximian.com>
457 * Monitor.cs: Fix spelleng.
459 2004-02-09 Zoltan Varga <vargaz@freemail.hu>
461 * Thread.cs: Add fields added to unmanaged MonoThread here as well.
462 Fixes random errors caused by memory corruption.
464 2004-02-06 Zoltan Varga <vargaz@freemail.hu>
466 * Thread.cs: Store the thread name in unmanaged memory, since the
467 thread object is shared between appdomains.
469 2004-02-05 Sebastien Pouliot <sebastien@ximian.com>
471 * Thread.cs: Implemented CurrentPrincipal.
473 2004-01-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
475 * Thread.cs: delayed thread creation until Start is called. If we
476 don't do that and Start() is not called, the thread is leaked. First
477 step towards fixing bug #53078.
479 2003-12-02 Dick Porter <dick@ximian.com>
481 * Thread.cs: Throw InvalidOperationException if Thread.Name is
484 2003-12-01 Dick Porter <dick@ximian.com>
486 * Thread.cs: Implement CurrentCulture and CurrentUICulture
488 2003-11-12 Miguel de Icaza <miguel@ximian.com>
490 * Thread.cs: Add new VolatileRead/VolatileWrite methods from 1.1
492 2003-10-23 Lluis Sanchez Gual <lluis@ximian.com>
494 * Thread.cs: Added ResetDataStoreStatus and RestoreDataStoreStatus
495 methods. They are used in CrossAppDomainChannel to save and restore
496 thread's local data when switching between domains.
498 2003-10-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
500 * ManualResetEvent.cs: added check for disposed.
501 * Thread.cs: no need to init this field.
503 2003-10-01 Zoltan Varga <vargaz@freemail.hu>
505 * Thread.cs: Add locking to AllocateNamedDataSlot and
508 Wed Aug 20 12:01:36 CEST 2003 Paolo Molaro <lupus@ximian.com>
510 * Thread.cs: put all the fields at the start and add
511 more fields needed by the runtime.
513 2003-08-14 Lluis Sanchez Gual <lluis@ximian.com>
515 * Thread.cs: SetData() method: use Hashtable.Contains to check
516 if a dataslot has been allocated (value could be null).
518 2003-07-23 Duncan Mak <duncan@ximian.com>
520 * WaitHandle.cs (CheckDisposed): This method is not in the public
521 API, mark it as 'internal'.
523 2003-07-01 Dick Porter <dick@ximian.com>
525 * Thread.cs: Throw an exception if thread creation failed.
526 (Better than just blowing up later.)
528 2003-06-27 Dietmar Maurer <dietmar@ximian.com>
530 * ThreadPool.cs: use async delegate invoke.
532 2003-06-25 Dick Porter <dick@ximian.com>
534 * WaitHandle.cs: Default handle value should be InvalidHandle, not
537 2003-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
539 * ThreadPool.cs: correctly create a TimeSpan with provided the number of
542 * WaitHandle.cs: fixes for WaitAny/All and TimeSpan.
544 2003-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
546 * WaitHandle.cs: checks and exceptions.
548 2003-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
550 * NativeEventCalls.cs: added CloseEvent_intenal.
551 * WaitHandle.cs: call CloseEvent_internal when disposing.
553 2003-05-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
555 * RegisteredWaitHandle.cs: check that the callback is not null before
558 * ThreadPool.cs: fixed timeout -> TimeSpan conversions (closes bug
559 #43963). Queue the item before setting the handle. If there's a timeout,
560 avoid trying to Dequeue, getting the exception et al, just continue the
563 Mon May 19 09:07:45 CEST 2003 Paolo Molaro <lupus@ximian.com>
565 * Monitor.cs: removed test_owner, the check is already done in the
568 Tue May 13 15:34:29 CEST 2003 Paolo Molaro <lupus@ximian.com>
570 * Thread.cs: added missing field used by the runtime and
571 a new field to support thread-static data.
573 2003-04-17 Pedro Mart�ez Juli� <yoros@wanadoo.es>
575 * Timer.cs: Change the position of two lines because they were
576 before the "if" that ensures the integrity. After this, the first of
577 that two lines was producing a NullReferenceException.
579 2003-04-09 Dick Porter <dick@ximian.com>
581 * Thread.cs: Make sure a reference to the ThreadStart delegate is
582 held. There's no telling how long it will be before
583 Thread.Start() is called, and GC might destroy the delegate.
584 Thread() and Start() need to be rewritten so that the runtime
585 creates the new thread when Start() is called, which will simplify
586 the code a great deal.
588 2003-03-20 Miguel de Icaza <miguel@ximian.com>
590 * Thread.cs (CurrentCuluture): use the invaraint culture instead
591 of "" for the current_culture setting.
593 2003-03-25 Zoltan Varga <vargaz@freemail.hu>
595 * Thread.cs: Fix visibility of ResetAbort().
597 2003-03-18 Dick Porter <dick@ximian.com>
599 * Thread.cs: Keep the thread state updated in all the places that
600 require it. (Suspend, Resume and Interrupt not handled yet)
602 2003-03-03 Lluis Sanchez Gual <lluis@ideary.com>
604 * Thread.cs: Changed implementation of CurrentContext, adapted to the changes
607 2003-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
609 * Thread.cs: implemented CurrentContext.
611 2003-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
613 * Thread.cs: made the thread_id for the current thread accesible through
614 an internal property.
616 2003-02-17 Dick Porter <dick@ximian.com>
618 * Thread.cs: Added the Start semaphore field to the class. Update
619 the thread state after Start() has returned, not before.
621 2003-02-13 Zoltan Varga <vargaz@freemail.hu>
623 * Thread.cs (Sleep): Timeout.Infinite is a value argument.
625 2003-02-11 Dick Porter <dick@ximian.com>
627 * Monitor.cs: Infinite wait is Infinite, not 0 ms
629 2003-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
631 * Thread.cs: fixed bug #37759.
633 2003-02-07 Patrik Torstensson
635 * Timer.cs: Set the Background thread flag for the timer thread
637 2003-02-05 Patrik Torstensson
639 * ThreadPool.cs: Reformated and fixed issue that made all thread exit the pool.
641 2003-02-04 Lluis Sanchez Gual <lluis@ideary.com>
643 * ThreadPool.cs: Implemented RegisterWaitForSingleObject methods.
645 Tue Jan 28 17:55:59 CET 2003 Paolo Molaro <lupus@ximian.com>
647 * Thread.cs: delay-init datastorehash.
649 2003-01-10 Patrik Torstensson <totte@race-x-change.com>
651 * ThreadPool.cs: Temporary removed the usage of monitor thread, implemented a
652 model more equal to the MS one.
654 2002-12-10 Dick Porter <dick@ximian.com>
660 * WaitHandle.cs: Use TotalMilliseconds to convert a TimeSpan to
661 ms, not Milliseconds.
663 2002-12-07 Martin Baulig <martin@ximian.com>
665 * Timer.cs: Make it actually work; now it no longer sets your
666 application on fire if you use a zero periode and Timer.Change()
669 2002-11-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
671 * Timer.cs: implemented more stuff. It works now.
673 2002-10-25 Zoltan Varga <vargaz@freemail.hu>
675 * Thread.cs: Implement GetDomain() and GetDomainID().
677 2002-10-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
679 * ThreadPool.cs: now the monitor thread is not sleeping and checking if
680 more worker threads needed. It waits on _DataInQueue. If (and only if)
681 there's data in the queue it checks if more worker threads needed and
682 then sleeps 0.5s before waiting for queued data again.
684 2002-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
686 * ThreadPool.cs: set IsThreadPoolThread before starting the worker.
688 2002-09-11 Dick Porter <dick@ximian.com>
691 * ManualResetEvent.cs:
692 * AutoResetEvent.cs: Use the WaitHandle.Handle property instead of
695 * WaitHandle.cs: Hide the os_handle field and the WaitOne_internal
698 2002-09-03 Dick Porter <dick@ximian.com>
700 * Thread.cs: Added thread ID field
702 2002-08-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
704 * WaitHandle.cs: IDisposable fixes.
706 2002-08-14 Dick Porter <dick@ximian.com>
708 * Thread.cs: Make CurrentUICulture act the same as CurrentCulture
711 2002-08-12 Dietmar Maurer <dietmar@ximian.com>
713 * ThreadAbortException.cs: impl. ExceptionState property.
715 * Thread.cs: moved all instance variables to the start of the
716 class. added support for Thread::Abort()
718 2002-04-30 Dick Porter <dick@ximian.com>
720 * Thread.cs: If LocalDataStoreSlot already has data set, remove it
721 before adding a new one.
723 Use the Thread object destructor to tell the runtime to close the
726 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
728 * Interlocked.cs: made all methods icalls.
730 2002-04-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
732 * IOCompletionCallback.cs: added attributes to the delegate
733 (CLSCompliant(false) and Serializable).
735 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
736 * Thread.cs: Fixed IsThreadPoolThread to use a internal property instead of extending
737 the threadstate enum.
738 * ThreadPool.cs: Now using the internal Isthreadpoolthread property
739 * ThreadState.cs: removed non-standard enum (ThreadPoolThread)
741 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
743 * ThreadState.cs: Added enum for threadpool thread
744 * Thread.cs: changed the set/clr_state to be internal (used from threadpool)
745 * Thread.cs: Added IsThreadPoolThread
746 * ThreadPool.cs: Implementation of QueueUserWorkItem
748 Wed Feb 13 21:51:30 CET 2002 Paolo Molaro <lupus@ximian.com>
750 * Thread.cs: implement CurrentCulture property needed by
751 Convert.ChangeType() (used when compiling enums).
753 2002-01-23 Dick Porter <dick@ximian.com>
755 * ManualResetEvent.cs:
756 * AutoResetEvent.cs: Fixed DOS line endings
758 2002-01-22 Veronica De Santis <veron78@interfree.it>
760 * NativeEventCalls : Class that contains internal calls shared by Auto
761 and Manual Reset Events
762 * AutoResetEvents.cs : Added class AutoResetEvents and its implementation
763 * ManualResetEvents.cs : Added class ManualResetEvents and its implementation
765 2002-01-16 Veronica De Santis <veron78@interfree.it>
767 * WaitHandle.cs : Renamed handle to os_handle and make it protected
769 * Mutex.cs : Write the System.Threading.Mutex methods ( constructors
770 and the ReleaseMutex)
772 2002-01-15 Dick Porter <dick@ximian.com>
775 * Thread.cs: Make the runtime's idea of infinite timeouts coincide
776 with the class library's
778 2002-01-10 Dick Porter <dick@ximian.com>
780 * WaitHandle.cs: Added checks for too many handles and null
781 handles in WaitAll() and WaitAny
784 2002-01-05 Ravi Pratap <ravi@ximian.com>
786 * AutoResetEvent.cs, ManualResetEvent.cs, Monitor.cs : MonoTODO
789 * Mutex.cs, Overlapped.cs, ReaderWriterLock.cs, RegisteredWaitHandle.cs,
790 Thread.cs, ThreadAbortException.cs, ThreadPool.cs, Timer.cs, WaitHandler.cs : Ditto.
792 2001-12-11 Dick Porter <dick@ximian.com>
794 * WaitHandle.cs: Implemented WaitAll(), WaitAny() and WaitOne() as
797 2001-11-26 Dick Porter <dick@ximian.com>
799 * Thread.cs: DataSlot uses a single system TLS slot, and a
800 hashtable per thread. Some minor changes to reflect the new
801 internal calls using the new IO library, and the newly-supported
802 bool returns from internal calls.
804 * Monitor.cs: Use bool returns from internal calls now they are
805 supported by the runtime. Coalesce enter with the try_enter
808 Wed Nov 14 17:06:18 CET 2001 Paolo Molaro <lupus@ximian.com>
810 * Overlapped.cs, ThreadPool.cs, Timer.cs: CLSCompliant updates.
812 2001-10-03 Dick Porter <dick@ximian.com>
814 * Monitor.cs: Implemented all methods except the two Wait()
815 methods that take boolean parameters
817 2001-09-28 Dick Porter <dick@ximian.com>
819 * Thread.cs: Implemented AllocateDataSlot(),
820 AllocateNamedDataSlot(), FreeNamedDataSlot(), GetData(),
821 GetNamedDataSlot(), SetData(), IsBackground. Reworked Thread()
822 and Start() to avoid a race condition. Added thread-safe state
823 changing private operations.
825 * Monitor.cs: Comment out the GetType() calls because it isn't implemented yet
827 2001-09-25 Dick Porter <dick@ximian.com>
829 * Thread.cs: Implement Join and timed Join, set correct state
830 around Start, Join and Sleep calls, implement IsAlive and
831 ThreadState properties.
833 * ThreadState.cs (Threading): Added StopRequested,
834 SuspendRequested, Suspended values
836 2001-09-23 Dick Porter <dick@ximian.com>
838 * Thread.cs: Implemented CurrentThread and Sleep (both versions)
839 with internal calls, and Name.
841 2001-09-21 Dick Porter <dick@ximian.com>
843 * Thread.cs: Implement Thread(ThreadStart) constructor and Start()
844 with an internal call
846 * WaitHandle.cs: Close calls Dispose(false)
848 2001-09-13 Dick Porter <dick@ximian.com>
850 * ApartmentState.cs (Threading): Set the correct enum values
852 2001-09-13 Dick Porter <dick@ximian.com>
854 * ApartmentState.cs, AutoResetEvent.cs, IOCompletionCallback.cs,
855 Interlocked.cs, LockCookie.cs, ManualResetEvent.cs, Monitor.cs,
856 Mutex.cs, NativeOverlapped.cs, Overlapped.cs, ReaderWriterLock.cs,
857 RegisteredWaitHandle.cs, SynchronizationLockException.cs,
858 Thread.cs, ThreadAbortException.cs, ThreadInterruptedException.cs,
859 ThreadPool.cs, ThreadStart.cs, ThreadStateException.cs,
860 Timeout.cs, Timer.cs, TimerCallback.cs, WaitCallback.cs,
861 WaitHandle.cs, WaitOrTimerCallback.cs: System.Threading class
864 2001-07-18 Michael Lambert <michaellambert@email.com>
866 * ThreadPriority.cs, ThreadState.cs: Add.