1 2005-09-11 Zoltan Varga <vargaz@gmail.com>
3 * Thread.cs (MemoryBarrier): Make this an icall.
5 2005-09-10 Zoltan Varga <vargaz@gmail.com>
7 * Thread.cs (Interrupt): Make this throw a NotImplementedException.
9 2005-09-09 Martin Baulig <martin@ximian.com>
11 * Timer.cs (Timer.Runner.Start): Silently catch
12 ObjectDisposedException and return; works around some race
13 condition on thread abort.
15 2005-08-19 Dick Porter <dick@ximian.com>
17 * Thread.cs: Reserve 64 bits for the thread ID.
19 2005-07-19 Martin Baulig <martin@ximian.com>
21 * Timer.cs (Timer.Runner.Start): Fix a race condition which was
22 causing a hang on exit int he debugger: check `!disposed' before
23 `start_event.WaitOne ()' and again after it.
25 2005-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
27 * Thread.cs: check that the culture is valid for formatting
28 (ie, (!neutral || invariant)).
30 2005-06-07 Sebastien Pouliot <sebastien@ximian.com>
32 * Thread.cs: Added _Thread interface (and members) and a few missing
33 attributes (for both 1.1 and 2.0).
35 2005-06-06 Zoltan Varga <vargaz@freemail.hu>
37 * Thread.cs Mutex.cs Monitor.cs: Add some missing 2.0 attributes.
39 2005-05-29 Sebastien Pouliot <sebastien@ximian.com>
41 * Timer.cs: Added new constructor for 2.0 and ComVisible attribute.
42 * Timeout.cs: This is a static class in 2.0 and ComVisible attribute.
44 2005-05-26 Ben Maurer <bmaurer@ximian.com>
46 * Thread.cs: Use a static object for a lock rather than
49 2005-05-26 Sebastien Pouliot <sebastien@ximian.com>
51 * SynchronizationContext.cs: Re-introduced SendOrPost method as it's
52 being used in System.Web.Services.
54 2005-05-26 Sebastien Pouliot <sebastien@ximian.com>
56 * SynchronizationContext.cs: Updated to beta2 API so it doesn't depend
57 on the switcher structure anymore (which will be removed from the
60 2005-05-24 Sebastien Pouliot <sebastien@ximian.com>
62 * Thread.cs: Removed #pragma which aren't supported by CSC 7.x.
64 2005-05-20 Sebastien Pouliot <sebastien@ximian.com>
66 * AsyncFlowControl.cs: Now available, as internal, in NET_1_1. This is
67 required to get some methods from SecurityContext and ExecutionContext
69 * CompressedStack.cs: Now includes the current CompressedStack in a new
71 * ExecutionContext.cs: Includes more methods in NET_1_1 to enable
72 ThreadPool.UnsafeQueueUserWorkItem to work properly (i.e. without
74 * Thread.cs: Made ExecutionContext field accessible from the runtime.
75 Added stack propagation when Thread.Start is called.
76 * ThreadPool.cs: QueueUserWorkItem now does stack propagation (done in
77 the runtime), so I "fixed" UnsafeQueueUserWorkItem not to do so.
79 2005-05-19 Miguel de Icaza <miguel@novell.com>
81 * Thread.cs: REmove warnings.
83 2005-05-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
85 * Thread.cs: first check for null, then set in_currentculture.
87 2005-05-12 Lluis Sanchez Gual <lluis@novell.com>
89 * Thread.cs: Moved all checks done inside sync_lock to unmanaged code.
90 Merged Thread_internal and Start_internal into a single icall, which
93 2005-05-11 Sebastien Pouliot <sebastien@ximian.com>
95 * CompressedStack.cs: Allow merging of an existing CompressedStack
96 with the actual stack of the current Thread.
97 * Thread.cs: GetCompressedStack and SetCompressedStack are public
98 before 2.0 but couldn't be seen with mono-api-info because of it's
99 LinkDemand for the ECMA public key. Removed unused CompressedStack
100 private field (now part of the ExecutionContext).
102 2005-05-09 Sebastien Pouliot <sebastien@ximian.com>
104 * CompressedStack.cs: GetCompressedStack is public before 2.0 but
105 couldn't be seen with mono-api-info because of it's LinkDemand for
106 the ECMA public key. Stack capture occurs here if none exists on the
109 2005-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
111 * ReaderWriterLock.cs: fix random ApplicationException errors. Tested
112 with the System.Web.Cache stress program. Patch by Eyal Alayuf
113 (Mainsoft). Fixes 74598.
115 2005-04-28 Sebastien Pouliot <sebastien@ximian.com>
117 * Thread.cs: Added property to get the ExecutionContext in 2.0. Fixed
118 GetCompressedStack and made SetCompressedStack available (as internal)
121 2005-04-28 Sebastien Pouliot <sebastien@ximian.com>
123 * AsyncFlowControl.cs: Updated wrt beta2.
124 * ExecutionContext.cs: Updated wrt beta2. Class is now internal in
125 NET_1_1 to allow the compressed stack propagation to other threads.
126 * CompressedStack.cs: Updated wrt beta2. Class is internal in NET_1_1
127 to allow the compressed stack propagation to other threads.
128 * ContextCallback.cs: Updated wrt beta2.
129 * HostExecutionContext.cs: Updated wrt beta2.
130 * HostExecutionContextManager.cs: Updated wrt beta2.
131 * Thread.cs: Added internal property to get the ExecutionContext.
133 2005-04-19 Zoltan Varga <vargaz@freemail.hu>
135 * Thread.cs: Add some unused fields.
137 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
139 * ThreadPool.cs: BindHandle does nothing now.
141 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
143 * Thread.cs: clear the Unstarted bit before calling Start_internal.
146 2005-04-04 Ben Maurer <bmaurer@ximian.com>
148 * Thread.cs: Do argument checking for Current[UI]Culture to make
149 the exception more clear for a null value being set.
151 2005-03-24 Sebastien Pouliot <sebastien@ximian.com>
153 * CompressedStack.cs: Added LinkDemand for UnmanagedCode and ECMA
154 public key on GetCompressedStack method.
155 * Mutex: Added LinkDemand for UnmanagedCode to create named (system
157 * Thread.cs: Added LinkDemand for ECMA public key on [Get|Set]
158 CompressedStack methods.
159 * WaitHandle.cs: Added LinkDemand and InheritanceDemand for
160 UnmanagedCode on set Handle property.
162 2005-03-10 Zoltan Varga <vargaz@freemail.hu>
164 * Thread.cs: Make slothash a ThreadStatic field. Fixes #65414.
166 2005-02-21 Zoltan Varga <vargaz@freemail.hu>
168 * Monitor.cs Interlocked.cs: Add net 2.0 ReliabilityContractAttributes.
170 2005-02-20 Zoltan Varga <vargaz@freemail.hu>
172 * Interlocked.cs: Applied patch from Luca Barbieri (luca.barbieri@gmail.com). Add NET 2.0 methods.
174 Tue Feb 15 18:19:11 CET 2005 Paolo Molaro <lupus@ximian.com>
176 * Thread.cs: make the slothash a field in MonoThread.
178 2005-01-27 Sebastien Pouliot <sebastien@ximian.com>
180 * Overlapped.cs: Added check for ControlPolicy and ControlEvidence for
181 Unsafe pack. Added MonoTODO for missing security stack propagation.
182 * Thread.cs: Add security checks for ControlThread.
183 * ThreadPool.cs: Added declarative security checks.
185 Thu Jan 13 18:15:32 CET 2005 Paolo Molaro <lupus@ximian.com>
187 * Thread.cs: implement stacksize and parameterized
188 start functionality (requires matching runtime).
190 2005-01-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
192 * ThreadAbortException.cs: added private serialization .ctor.
194 2004-12-20 Sebastien Pouliot <sebastien@ximian.com>
196 * CompressedStack.cs: Implemented most todo so it's usable for CAS.
197 * CompressedStackSwitcher.cs: Implemented most todo.
198 * Thread.cs: Implement support for getting/setting CompressedStack.
200 2004-12-15 Zoltan Varga <vargaz@freemail.hu>
202 * Thread.cs: Change type of culture_info and ui_culture_info to
203 IntPtr. Implement correct culture handling for the UI culture as
206 2004-12-14 Zoltan Varga <vargaz@freemail.hu>
208 * Thread.cs: Optimize CurrentCulture to avoid initializing the
209 serialization infrastructure in the common case when the culture is
212 2004-12-06 Zoltan Varga <vargaz@freemail.hu>
214 * Thread.cs: Add new fields 'serialized_culture_info{_len}'.
216 * Thread.cs (CurrentCulture): Fix leaking of culture info objects
217 across appdomains. Partially fixes #50049.
219 2004-12-05 Miguel de Icaza <miguel@ximian.com>
221 * AutoResetEvent.cs (Set, Reset): If we are disposed, throw a
222 ObjectDisposedEvent, helped track the WebConnection destructor
225 2004-09-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
227 * Timer.cs: don't invoke the callback twice when the timer changes.
230 2004-09-08 Marek Safar <marek.safar@seznam.cz>
232 * Interlocked.cs: Class is static in NET_2_0.
234 2004-09-04 Sebastien Pouliot <sebastien@ximian.com>
236 * Thread.cs: Changed an imperative security demand to declarative
237 (unsupported) so it doesn't (for now) call the security runtime.
239 2004-08-20 Sebastien Pouliot <sebastien@ximian.com>
241 * Thread.cs: Added Fx 2.0 properties/methods/attributes.
243 2004-08-12 Sebastien Pouliot <sebastien@ximian.com>
245 * CompressedStackSwitcher.cs: Added missing [ComVisible] and
246 [ReliabilityContract] attributes.
247 * ExecutionContext.cs: Added missing [ComVisible] and
248 [Serializable] attributes.
249 * HostExecutionContext.cs: Added missing [ComVisible] attribute.
250 * HostExecutionContextManager.cs: Added missing [ComVisible] and
251 [ReliabilityContract] attributes.
252 * HostExecutionContextSwitcher.cs: Added missing Equals and
253 GetHashCode methods and [ComVisible] and [ReliabilityContract] attrs.
254 * ParameterizedThreadStart.cs: New delegate in NET_2_0.
255 * SendOrPostCallback.cs: Added missing [ComVisible] attribute.
256 * SynchronizationContext.cs: Added new (2.0 beta1) methods Copy and
257 WaitHelper. Added missing [ComVisible] and [ReliabilityContract] attrs.
258 * SynchronizationContextSwitcher.cs: Added missing [ComVisible] and
259 [ReliabilityContract] attributes.
261 2004-08-08 Sebastien Pouliot <sebastien@ximian.com>
263 * HostExecutionContext.cs: Fx 2.0 stub required for AppDomain.
264 * HostExecutionContextManager.cs: Fx 2.0 stub required for AppDomain.
265 * HostExecutionContextSwitcher.cs: Fx 2.0 stub required for AppDomain.
267 2004-08-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
269 * Timer.cs: don't invoke the callback if the period changes before the
270 due time. Fixes bug #62421.
272 2004-07-27 Lluis Sanchez Gual <lluis@novell.com>
274 * ExecutionContext.cs, ExecutionContextSwitcher.cs,
275 SynchronizationContext.cs, SynchronizationContextSwitcher.cs: Added
278 2004-07-15 Dick Porter <dick@ximian.com>
280 * Thread.cs: Hold a lock in GetNamedDataSlot. Fixes bug 61582,
281 based on patch by Sbastien Robitaille
282 (sebastien.robitaille@croesus.com). Also fix instances of
283 lock(typeof(Thread)) to lock a private object instead.
285 2004-07-14 Sebastien Pouliot <sebastien@ximian.com>
287 * AsyncFlowControl.cs: New structure in Fx 2.0 required in
288 System.Security namespace.
289 * CompressedStackSwitcher.cs: New structure in Fx 2.0 required in
290 System.Security namespace.
291 * ContextCallback.cs: New delegate in Fx 2.0 required in
292 System.Security namespace.
293 * CompressedStack.cs: Updated API for NET_2_0 profile.
295 2004-07-10 Lluis Sanchez Gual <lluis@ximian.com>
297 * SendOrPostCallback.cs: New delegate.
299 2004-06-24 Dick Porter <dick@ximian.com>
301 * Mutex.cs: Implement the createdNew parameter
303 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
305 * Thread.cs: changed return type of VolatileRead to UIntPtr
306 * ThreadPool.cs: set return type of SetMinThreads to bool
308 2004-06-15 Lluis Sanchez Gual <lluis@ximian.com>
310 * Thread.cs: Added new fields to keep sync with MonoThread.
311 Removed state changes in Sleep and Join. The state change is now done
312 in the icall. For accessing to internal fields lock with synch_lock
313 instead of this, which can be a source of deadlocks.
315 2004-06-15 Lluis Sanchez Gual <lluis@ximian.com>
317 * Timer.cs: Don't abort the thread if Dispose() is called from the runner
320 2004-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
323 (CurrentPrincipal): lock on CurrentThread, not typeof (Thread) and set
324 the thread IPrincipal if we get it from the AppDomain.
326 2004-06-09 Gert Driesen <drieseng@users.sourceforge.net>
328 * CompressedStack.cs: Added finalizer to match public API of
331 2004-05-19 Lluis Sanchez Gual <lluis@ximian.com>
333 * Thread.cs: Some fixes in Abort. Implemented Suspend and Resume.
334 Added internal interruption_requested field.
336 2004-05-13 Sebastien Pouliot <sebastien@ximian.com>
338 * CompressedStack.cs: Added an internal constructor so a default one
339 doesn't appear with corcompare.
340 * Thread.cs: Added missing MemoryBarrier (only for 1.1) and SpinWait to please
341 corcompare. Both throw a NotImplementedException.
342 * ThreadPool.cs: Added missing UnsafeRegisterWaitForSingleObject methods (4
343 overloads) to please corcompare. All throw a NotImplementedException.
345 2004-05-12 Zoltan Varga <vargaz@freemail.hu>
347 * CompressedStack.cs: New file.
349 2004-04-15 Lluis Sanchez Gual <lluis@ximian.com>
351 * ThreadPool.cs: Added GetMinThreads and SetMinThreads.
352 * Timer.cs: In Change, return false if the timer has been disposed.
353 In Dispose, notify the WaitHandle.
355 2004-04-11 Lluis Sanchez Gual <lluis@ximian.com>
357 * ReaderWriterLock.cs: More fixes: never wait where acquiring a reader lock
358 if the thread already has the lock. Added readyWaitingReaders variable to
359 keep track of threads ready to get the reader lock.
361 2004-04-11 Lluis Sanchez Gual <lluis@ximian.com>
363 * LockQueue.cs: Moved lockCount change inside the rwlock lock. Removed
364 lock(this) when entering the rwlock to avoid a deadlock.
365 * ReaderWriterLock.cs: In AcquireWriterLock, queue the thread if the queue
366 is not empty (even if state==0).
368 2004-04-09 Zoltan Varga <vargaz@freemail.hu>
370 * Timer.cs: Call the callback immediately if dueTime is 0. Fixes
373 2004-04-08 Jackson Harper <jackson@ximian.com>
375 * ReaderWriterLock.cs: Fix tyop
377 2004-04-08 Lluis Sanchez Gual <lluis@ximian.com>
379 * ReaderWriterLock.cs: Changed some methods to private.
380 * WaitHandle.cs: In Wait methods, release the synchronization context when
383 2004-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
385 * Timer.cs: call Abort on the Runner instance too.
387 2004-04-07 Jackson Harper <jackson@ximian.com>
389 * Thread.cs: Use new culture info method for constructing the
392 2004-04-07 Lluis Sanchez Gual <lluis@ximian.com>
394 * ReaderWriterLock.cs: When a thread holds a writer lock, a call to
395 AcquireReaderLock works like a call to AcquireWriterLock.
397 2004-04-06 Lluis Sanchez Gual <lluis@ximian.com>
399 * Monitor.cs: In Wait(), release the synchronization context when
402 2004-04-06 Lluis Sanchez Gual <lluis@ximian.com>
404 * LockCookie.cs: Keep in this class the count of reader or writer locks
405 for a thread, not only whether it has locks or not.
406 * LockQueue.cs: Added property for checking if a thread is waiting in
407 the queue. Wait now returns a boolean that set to false on timeout
409 * ReaderWriterLock.cs: Started fixing bugs but I had to rewrite a lot of it.
410 The main change is that now it keeps a reader lock count for each
411 thread. This is needed since methods like ReleaseLock or
412 UpgradeToWriterLock need to return a per-thread status in LockCookie.
413 Also added support for recursive writer-lock requests.
415 2004-03-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
417 * ThreadAbortException.cs: use same HResult as MS.
418 * Timer.cs: abort the running thread when disposing the Timer. This
419 fixes NullRefs when finishing xsp.
421 2004-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
423 * NativeOverlapped.cs: added 2 new internal fields.
424 * Overlapped.cs: implemented, but it's not used.
426 * ThreadPool.cs: implemented BindHandle.
428 2004-03-08 Zoltan Varga <vargaz@freemail.hu>
430 * Timer.cs (Dispose): Applied patch from Jaroslaw Kowalski
431 (jaak@zd.com.pl). Fix finalization problems during appdomain unload.
433 2004-02-23 Jackson Harper <jackson@ximian.com>
435 * LockCookie.cs: Add some fields for restoring locks.
436 * ReaderWriterLock.cs: Implement
437 * LockQueue.cs: New File - used for queueing thread locks in
440 2004-02-19 Jackson Harper <jackson@ximian.com>
442 * Monitor.cs: Fix spelleng.
444 2004-02-09 Zoltan Varga <vargaz@freemail.hu>
446 * Thread.cs: Add fields added to unmanaged MonoThread here as well.
447 Fixes random errors caused by memory corruption.
449 2004-02-06 Zoltan Varga <vargaz@freemail.hu>
451 * Thread.cs: Store the thread name in unmanaged memory, since the
452 thread object is shared between appdomains.
454 2004-02-05 Sebastien Pouliot <sebastien@ximian.com>
456 * Thread.cs: Implemented CurrentPrincipal.
458 2004-01-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
460 * Thread.cs: delayed thread creation until Start is called. If we
461 don't do that and Start() is not called, the thread is leaked. First
462 step towards fixing bug #53078.
464 2003-12-02 Dick Porter <dick@ximian.com>
466 * Thread.cs: Throw InvalidOperationException if Thread.Name is
469 2003-12-01 Dick Porter <dick@ximian.com>
471 * Thread.cs: Implement CurrentCulture and CurrentUICulture
473 2003-11-12 Miguel de Icaza <miguel@ximian.com>
475 * Thread.cs: Add new VolatileRead/VolatileWrite methods from 1.1
477 2003-10-23 Lluis Sanchez Gual <lluis@ximian.com>
479 * Thread.cs: Added ResetDataStoreStatus and RestoreDataStoreStatus
480 methods. They are used in CrossAppDomainChannel to save and restore
481 thread's local data when switching between domains.
483 2003-10-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
485 * ManualResetEvent.cs: added check for disposed.
486 * Thread.cs: no need to init this field.
488 2003-10-01 Zoltan Varga <vargaz@freemail.hu>
490 * Thread.cs: Add locking to AllocateNamedDataSlot and
493 Wed Aug 20 12:01:36 CEST 2003 Paolo Molaro <lupus@ximian.com>
495 * Thread.cs: put all the fields at the start and add
496 more fields needed by the runtime.
498 2003-08-14 Lluis Sanchez Gual <lluis@ximian.com>
500 * Thread.cs: SetData() method: use Hashtable.Contains to check
501 if a dataslot has been allocated (value could be null).
503 2003-07-23 Duncan Mak <duncan@ximian.com>
505 * WaitHandle.cs (CheckDisposed): This method is not in the public
506 API, mark it as 'internal'.
508 2003-07-01 Dick Porter <dick@ximian.com>
510 * Thread.cs: Throw an exception if thread creation failed.
511 (Better than just blowing up later.)
513 2003-06-27 Dietmar Maurer <dietmar@ximian.com>
515 * ThreadPool.cs: use async delegate invoke.
517 2003-06-25 Dick Porter <dick@ximian.com>
519 * WaitHandle.cs: Default handle value should be InvalidHandle, not
522 2003-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
524 * ThreadPool.cs: correctly create a TimeSpan with provided the number of
527 * WaitHandle.cs: fixes for WaitAny/All and TimeSpan.
529 2003-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
531 * WaitHandle.cs: checks and exceptions.
533 2003-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
535 * NativeEventCalls.cs: added CloseEvent_intenal.
536 * WaitHandle.cs: call CloseEvent_internal when disposing.
538 2003-05-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
540 * RegisteredWaitHandle.cs: check that the callback is not null before
543 * ThreadPool.cs: fixed timeout -> TimeSpan conversions (closes bug
544 #43963). Queue the item before setting the handle. If there's a timeout,
545 avoid trying to Dequeue, getting the exception et al, just continue the
548 Mon May 19 09:07:45 CEST 2003 Paolo Molaro <lupus@ximian.com>
550 * Monitor.cs: removed test_owner, the check is already done in the
553 Tue May 13 15:34:29 CEST 2003 Paolo Molaro <lupus@ximian.com>
555 * Thread.cs: added missing field used by the runtime and
556 a new field to support thread-static data.
558 2003-04-17 Pedro Mart�ez Juli� <yoros@wanadoo.es>
560 * Timer.cs: Change the position of two lines because they were
561 before the "if" that ensures the integrity. After this, the first of
562 that two lines was producing a NullReferenceException.
564 2003-04-09 Dick Porter <dick@ximian.com>
566 * Thread.cs: Make sure a reference to the ThreadStart delegate is
567 held. There's no telling how long it will be before
568 Thread.Start() is called, and GC might destroy the delegate.
569 Thread() and Start() need to be rewritten so that the runtime
570 creates the new thread when Start() is called, which will simplify
571 the code a great deal.
573 2003-03-20 Miguel de Icaza <miguel@ximian.com>
575 * Thread.cs (CurrentCuluture): use the invaraint culture instead
576 of "" for the current_culture setting.
578 2003-03-25 Zoltan Varga <vargaz@freemail.hu>
580 * Thread.cs: Fix visibility of ResetAbort().
582 2003-03-18 Dick Porter <dick@ximian.com>
584 * Thread.cs: Keep the thread state updated in all the places that
585 require it. (Suspend, Resume and Interrupt not handled yet)
587 2003-03-03 Lluis Sanchez Gual <lluis@ideary.com>
589 * Thread.cs: Changed implementation of CurrentContext, adapted to the changes
592 2003-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
594 * Thread.cs: implemented CurrentContext.
596 2003-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
598 * Thread.cs: made the thread_id for the current thread accesible through
599 an internal property.
601 2003-02-17 Dick Porter <dick@ximian.com>
603 * Thread.cs: Added the Start semaphore field to the class. Update
604 the thread state after Start() has returned, not before.
606 2003-02-13 Zoltan Varga <vargaz@freemail.hu>
608 * Thread.cs (Sleep): Timeout.Infinite is a value argument.
610 2003-02-11 Dick Porter <dick@ximian.com>
612 * Monitor.cs: Infinite wait is Infinite, not 0 ms
614 2003-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
616 * Thread.cs: fixed bug #37759.
618 2003-02-07 Patrik Torstensson
620 * Timer.cs: Set the Background thread flag for the timer thread
622 2003-02-05 Patrik Torstensson
624 * ThreadPool.cs: Reformated and fixed issue that made all thread exit the pool.
626 2003-02-04 Lluis Sanchez Gual <lluis@ideary.com>
628 * ThreadPool.cs: Implemented RegisterWaitForSingleObject methods.
630 Tue Jan 28 17:55:59 CET 2003 Paolo Molaro <lupus@ximian.com>
632 * Thread.cs: delay-init datastorehash.
634 2003-01-10 Patrik Torstensson <totte@race-x-change.com>
636 * ThreadPool.cs: Temporary removed the usage of monitor thread, implemented a
637 model more equal to the MS one.
639 2002-12-10 Dick Porter <dick@ximian.com>
645 * WaitHandle.cs: Use TotalMilliseconds to convert a TimeSpan to
646 ms, not Milliseconds.
648 2002-12-07 Martin Baulig <martin@ximian.com>
650 * Timer.cs: Make it actually work; now it no longer sets your
651 application on fire if you use a zero periode and Timer.Change()
654 2002-11-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
656 * Timer.cs: implemented more stuff. It works now.
658 2002-10-25 Zoltan Varga <vargaz@freemail.hu>
660 * Thread.cs: Implement GetDomain() and GetDomainID().
662 2002-10-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
664 * ThreadPool.cs: now the monitor thread is not sleeping and checking if
665 more worker threads needed. It waits on _DataInQueue. If (and only if)
666 there's data in the queue it checks if more worker threads needed and
667 then sleeps 0.5s before waiting for queued data again.
669 2002-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
671 * ThreadPool.cs: set IsThreadPoolThread before starting the worker.
673 2002-09-11 Dick Porter <dick@ximian.com>
676 * ManualResetEvent.cs:
677 * AutoResetEvent.cs: Use the WaitHandle.Handle property instead of
680 * WaitHandle.cs: Hide the os_handle field and the WaitOne_internal
683 2002-09-03 Dick Porter <dick@ximian.com>
685 * Thread.cs: Added thread ID field
687 2002-08-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
689 * WaitHandle.cs: IDisposable fixes.
691 2002-08-14 Dick Porter <dick@ximian.com>
693 * Thread.cs: Make CurrentUICulture act the same as CurrentCulture
696 2002-08-12 Dietmar Maurer <dietmar@ximian.com>
698 * ThreadAbortException.cs: impl. ExceptionState property.
700 * Thread.cs: moved all instance variables to the start of the
701 class. added support for Thread::Abort()
703 2002-04-30 Dick Porter <dick@ximian.com>
705 * Thread.cs: If LocalDataStoreSlot already has data set, remove it
706 before adding a new one.
708 Use the Thread object destructor to tell the runtime to close the
711 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
713 * Interlocked.cs: made all methods icalls.
715 2002-04-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
717 * IOCompletionCallback.cs: added attributes to the delegate
718 (CLSCompliant(false) and Serializable).
720 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
721 * Thread.cs: Fixed IsThreadPoolThread to use a internal property instead of extending
722 the threadstate enum.
723 * ThreadPool.cs: Now using the internal Isthreadpoolthread property
724 * ThreadState.cs: removed non-standard enum (ThreadPoolThread)
726 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
728 * ThreadState.cs: Added enum for threadpool thread
729 * Thread.cs: changed the set/clr_state to be internal (used from threadpool)
730 * Thread.cs: Added IsThreadPoolThread
731 * ThreadPool.cs: Implementation of QueueUserWorkItem
733 Wed Feb 13 21:51:30 CET 2002 Paolo Molaro <lupus@ximian.com>
735 * Thread.cs: implement CurrentCulture property needed by
736 Convert.ChangeType() (used when compiling enums).
738 2002-01-23 Dick Porter <dick@ximian.com>
740 * ManualResetEvent.cs:
741 * AutoResetEvent.cs: Fixed DOS line endings
743 2002-01-22 Veronica De Santis <veron78@interfree.it>
745 * NativeEventCalls : Class that contains internal calls shared by Auto
746 and Manual Reset Events
747 * AutoResetEvents.cs : Added class AutoResetEvents and its implementation
748 * ManualResetEvents.cs : Added class ManualResetEvents and its implementation
750 2002-01-16 Veronica De Santis <veron78@interfree.it>
752 * WaitHandle.cs : Renamed handle to os_handle and make it protected
754 * Mutex.cs : Write the System.Threading.Mutex methods ( constructors
755 and the ReleaseMutex)
757 2002-01-15 Dick Porter <dick@ximian.com>
760 * Thread.cs: Make the runtime's idea of infinite timeouts coincide
761 with the class library's
763 2002-01-10 Dick Porter <dick@ximian.com>
765 * WaitHandle.cs: Added checks for too many handles and null
766 handles in WaitAll() and WaitAny
769 2002-01-05 Ravi Pratap <ravi@ximian.com>
771 * AutoResetEvent.cs, ManualResetEvent.cs, Monitor.cs : MonoTODO
774 * Mutex.cs, Overlapped.cs, ReaderWriterLock.cs, RegisteredWaitHandle.cs,
775 Thread.cs, ThreadAbortException.cs, ThreadPool.cs, Timer.cs, WaitHandler.cs : Ditto.
777 2001-12-11 Dick Porter <dick@ximian.com>
779 * WaitHandle.cs: Implemented WaitAll(), WaitAny() and WaitOne() as
782 2001-11-26 Dick Porter <dick@ximian.com>
784 * Thread.cs: DataSlot uses a single system TLS slot, and a
785 hashtable per thread. Some minor changes to reflect the new
786 internal calls using the new IO library, and the newly-supported
787 bool returns from internal calls.
789 * Monitor.cs: Use bool returns from internal calls now they are
790 supported by the runtime. Coalesce enter with the try_enter
793 Wed Nov 14 17:06:18 CET 2001 Paolo Molaro <lupus@ximian.com>
795 * Overlapped.cs, ThreadPool.cs, Timer.cs: CLSCompliant updates.
797 2001-10-03 Dick Porter <dick@ximian.com>
799 * Monitor.cs: Implemented all methods except the two Wait()
800 methods that take boolean parameters
802 2001-09-28 Dick Porter <dick@ximian.com>
804 * Thread.cs: Implemented AllocateDataSlot(),
805 AllocateNamedDataSlot(), FreeNamedDataSlot(), GetData(),
806 GetNamedDataSlot(), SetData(), IsBackground. Reworked Thread()
807 and Start() to avoid a race condition. Added thread-safe state
808 changing private operations.
810 * Monitor.cs: Comment out the GetType() calls because it isn't implemented yet
812 2001-09-25 Dick Porter <dick@ximian.com>
814 * Thread.cs: Implement Join and timed Join, set correct state
815 around Start, Join and Sleep calls, implement IsAlive and
816 ThreadState properties.
818 * ThreadState.cs (Threading): Added StopRequested,
819 SuspendRequested, Suspended values
821 2001-09-23 Dick Porter <dick@ximian.com>
823 * Thread.cs: Implemented CurrentThread and Sleep (both versions)
824 with internal calls, and Name.
826 2001-09-21 Dick Porter <dick@ximian.com>
828 * Thread.cs: Implement Thread(ThreadStart) constructor and Start()
829 with an internal call
831 * WaitHandle.cs: Close calls Dispose(false)
833 2001-09-13 Dick Porter <dick@ximian.com>
835 * ApartmentState.cs (Threading): Set the correct enum values
837 2001-09-13 Dick Porter <dick@ximian.com>
839 * ApartmentState.cs, AutoResetEvent.cs, IOCompletionCallback.cs,
840 Interlocked.cs, LockCookie.cs, ManualResetEvent.cs, Monitor.cs,
841 Mutex.cs, NativeOverlapped.cs, Overlapped.cs, ReaderWriterLock.cs,
842 RegisteredWaitHandle.cs, SynchronizationLockException.cs,
843 Thread.cs, ThreadAbortException.cs, ThreadInterruptedException.cs,
844 ThreadPool.cs, ThreadStart.cs, ThreadStateException.cs,
845 Timeout.cs, Timer.cs, TimerCallback.cs, WaitCallback.cs,
846 WaitHandle.cs, WaitOrTimerCallback.cs: System.Threading class
849 2001-07-18 Michael Lambert <michaellambert@email.com>
851 * ThreadPriority.cs, ThreadState.cs: Add.