1 2005-09-10 Zoltan Varga <vargaz@gmail.com>
3 * Thread.cs (Interrupt): Make this throw a NotImplementedException.
5 2005-09-09 Martin Baulig <martin@ximian.com>
7 * Timer.cs (Timer.Runner.Start): Silently catch
8 ObjectDisposedException and return; works around some race
9 condition on thread abort.
11 2005-08-19 Dick Porter <dick@ximian.com>
13 * Thread.cs: Reserve 64 bits for the thread ID.
15 2005-07-19 Martin Baulig <martin@ximian.com>
17 * Timer.cs (Timer.Runner.Start): Fix a race condition which was
18 causing a hang on exit int he debugger: check `!disposed' before
19 `start_event.WaitOne ()' and again after it.
21 2005-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
23 * Thread.cs: check that the culture is valid for formatting
24 (ie, (!neutral || invariant)).
26 2005-06-07 Sebastien Pouliot <sebastien@ximian.com>
28 * Thread.cs: Added _Thread interface (and members) and a few missing
29 attributes (for both 1.1 and 2.0).
31 2005-06-06 Zoltan Varga <vargaz@freemail.hu>
33 * Thread.cs Mutex.cs Monitor.cs: Add some missing 2.0 attributes.
35 2005-05-29 Sebastien Pouliot <sebastien@ximian.com>
37 * Timer.cs: Added new constructor for 2.0 and ComVisible attribute.
38 * Timeout.cs: This is a static class in 2.0 and ComVisible attribute.
40 2005-05-26 Ben Maurer <bmaurer@ximian.com>
42 * Thread.cs: Use a static object for a lock rather than
45 2005-05-26 Sebastien Pouliot <sebastien@ximian.com>
47 * SynchronizationContext.cs: Re-introduced SendOrPost method as it's
48 being used in System.Web.Services.
50 2005-05-26 Sebastien Pouliot <sebastien@ximian.com>
52 * SynchronizationContext.cs: Updated to beta2 API so it doesn't depend
53 on the switcher structure anymore (which will be removed from the
56 2005-05-24 Sebastien Pouliot <sebastien@ximian.com>
58 * Thread.cs: Removed #pragma which aren't supported by CSC 7.x.
60 2005-05-20 Sebastien Pouliot <sebastien@ximian.com>
62 * AsyncFlowControl.cs: Now available, as internal, in NET_1_1. This is
63 required to get some methods from SecurityContext and ExecutionContext
65 * CompressedStack.cs: Now includes the current CompressedStack in a new
67 * ExecutionContext.cs: Includes more methods in NET_1_1 to enable
68 ThreadPool.UnsafeQueueUserWorkItem to work properly (i.e. without
70 * Thread.cs: Made ExecutionContext field accessible from the runtime.
71 Added stack propagation when Thread.Start is called.
72 * ThreadPool.cs: QueueUserWorkItem now does stack propagation (done in
73 the runtime), so I "fixed" UnsafeQueueUserWorkItem not to do so.
75 2005-05-19 Miguel de Icaza <miguel@novell.com>
77 * Thread.cs: REmove warnings.
79 2005-05-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
81 * Thread.cs: first check for null, then set in_currentculture.
83 2005-05-12 Lluis Sanchez Gual <lluis@novell.com>
85 * Thread.cs: Moved all checks done inside sync_lock to unmanaged code.
86 Merged Thread_internal and Start_internal into a single icall, which
89 2005-05-11 Sebastien Pouliot <sebastien@ximian.com>
91 * CompressedStack.cs: Allow merging of an existing CompressedStack
92 with the actual stack of the current Thread.
93 * Thread.cs: GetCompressedStack and SetCompressedStack are public
94 before 2.0 but couldn't be seen with mono-api-info because of it's
95 LinkDemand for the ECMA public key. Removed unused CompressedStack
96 private field (now part of the ExecutionContext).
98 2005-05-09 Sebastien Pouliot <sebastien@ximian.com>
100 * CompressedStack.cs: GetCompressedStack is public before 2.0 but
101 couldn't be seen with mono-api-info because of it's LinkDemand for
102 the ECMA public key. Stack capture occurs here if none exists on the
105 2005-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
107 * ReaderWriterLock.cs: fix random ApplicationException errors. Tested
108 with the System.Web.Cache stress program. Patch by Eyal Alayuf
109 (Mainsoft). Fixes 74598.
111 2005-04-28 Sebastien Pouliot <sebastien@ximian.com>
113 * Thread.cs: Added property to get the ExecutionContext in 2.0. Fixed
114 GetCompressedStack and made SetCompressedStack available (as internal)
117 2005-04-28 Sebastien Pouliot <sebastien@ximian.com>
119 * AsyncFlowControl.cs: Updated wrt beta2.
120 * ExecutionContext.cs: Updated wrt beta2. Class is now internal in
121 NET_1_1 to allow the compressed stack propagation to other threads.
122 * CompressedStack.cs: Updated wrt beta2. Class is internal in NET_1_1
123 to allow the compressed stack propagation to other threads.
124 * ContextCallback.cs: Updated wrt beta2.
125 * HostExecutionContext.cs: Updated wrt beta2.
126 * HostExecutionContextManager.cs: Updated wrt beta2.
127 * Thread.cs: Added internal property to get the ExecutionContext.
129 2005-04-19 Zoltan Varga <vargaz@freemail.hu>
131 * Thread.cs: Add some unused fields.
133 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
135 * ThreadPool.cs: BindHandle does nothing now.
137 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
139 * Thread.cs: clear the Unstarted bit before calling Start_internal.
142 2005-04-04 Ben Maurer <bmaurer@ximian.com>
144 * Thread.cs: Do argument checking for Current[UI]Culture to make
145 the exception more clear for a null value being set.
147 2005-03-24 Sebastien Pouliot <sebastien@ximian.com>
149 * CompressedStack.cs: Added LinkDemand for UnmanagedCode and ECMA
150 public key on GetCompressedStack method.
151 * Mutex: Added LinkDemand for UnmanagedCode to create named (system
153 * Thread.cs: Added LinkDemand for ECMA public key on [Get|Set]
154 CompressedStack methods.
155 * WaitHandle.cs: Added LinkDemand and InheritanceDemand for
156 UnmanagedCode on set Handle property.
158 2005-03-10 Zoltan Varga <vargaz@freemail.hu>
160 * Thread.cs: Make slothash a ThreadStatic field. Fixes #65414.
162 2005-02-21 Zoltan Varga <vargaz@freemail.hu>
164 * Monitor.cs Interlocked.cs: Add net 2.0 ReliabilityContractAttributes.
166 2005-02-20 Zoltan Varga <vargaz@freemail.hu>
168 * Interlocked.cs: Applied patch from Luca Barbieri (luca.barbieri@gmail.com). Add NET 2.0 methods.
170 Tue Feb 15 18:19:11 CET 2005 Paolo Molaro <lupus@ximian.com>
172 * Thread.cs: make the slothash a field in MonoThread.
174 2005-01-27 Sebastien Pouliot <sebastien@ximian.com>
176 * Overlapped.cs: Added check for ControlPolicy and ControlEvidence for
177 Unsafe pack. Added MonoTODO for missing security stack propagation.
178 * Thread.cs: Add security checks for ControlThread.
179 * ThreadPool.cs: Added declarative security checks.
181 Thu Jan 13 18:15:32 CET 2005 Paolo Molaro <lupus@ximian.com>
183 * Thread.cs: implement stacksize and parameterized
184 start functionality (requires matching runtime).
186 2005-01-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
188 * ThreadAbortException.cs: added private serialization .ctor.
190 2004-12-20 Sebastien Pouliot <sebastien@ximian.com>
192 * CompressedStack.cs: Implemented most todo so it's usable for CAS.
193 * CompressedStackSwitcher.cs: Implemented most todo.
194 * Thread.cs: Implement support for getting/setting CompressedStack.
196 2004-12-15 Zoltan Varga <vargaz@freemail.hu>
198 * Thread.cs: Change type of culture_info and ui_culture_info to
199 IntPtr. Implement correct culture handling for the UI culture as
202 2004-12-14 Zoltan Varga <vargaz@freemail.hu>
204 * Thread.cs: Optimize CurrentCulture to avoid initializing the
205 serialization infrastructure in the common case when the culture is
208 2004-12-06 Zoltan Varga <vargaz@freemail.hu>
210 * Thread.cs: Add new fields 'serialized_culture_info{_len}'.
212 * Thread.cs (CurrentCulture): Fix leaking of culture info objects
213 across appdomains. Partially fixes #50049.
215 2004-12-05 Miguel de Icaza <miguel@ximian.com>
217 * AutoResetEvent.cs (Set, Reset): If we are disposed, throw a
218 ObjectDisposedEvent, helped track the WebConnection destructor
221 2004-09-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
223 * Timer.cs: don't invoke the callback twice when the timer changes.
226 2004-09-08 Marek Safar <marek.safar@seznam.cz>
228 * Interlocked.cs: Class is static in NET_2_0.
230 2004-09-04 Sebastien Pouliot <sebastien@ximian.com>
232 * Thread.cs: Changed an imperative security demand to declarative
233 (unsupported) so it doesn't (for now) call the security runtime.
235 2004-08-20 Sebastien Pouliot <sebastien@ximian.com>
237 * Thread.cs: Added Fx 2.0 properties/methods/attributes.
239 2004-08-12 Sebastien Pouliot <sebastien@ximian.com>
241 * CompressedStackSwitcher.cs: Added missing [ComVisible] and
242 [ReliabilityContract] attributes.
243 * ExecutionContext.cs: Added missing [ComVisible] and
244 [Serializable] attributes.
245 * HostExecutionContext.cs: Added missing [ComVisible] attribute.
246 * HostExecutionContextManager.cs: Added missing [ComVisible] and
247 [ReliabilityContract] attributes.
248 * HostExecutionContextSwitcher.cs: Added missing Equals and
249 GetHashCode methods and [ComVisible] and [ReliabilityContract] attrs.
250 * ParameterizedThreadStart.cs: New delegate in NET_2_0.
251 * SendOrPostCallback.cs: Added missing [ComVisible] attribute.
252 * SynchronizationContext.cs: Added new (2.0 beta1) methods Copy and
253 WaitHelper. Added missing [ComVisible] and [ReliabilityContract] attrs.
254 * SynchronizationContextSwitcher.cs: Added missing [ComVisible] and
255 [ReliabilityContract] attributes.
257 2004-08-08 Sebastien Pouliot <sebastien@ximian.com>
259 * HostExecutionContext.cs: Fx 2.0 stub required for AppDomain.
260 * HostExecutionContextManager.cs: Fx 2.0 stub required for AppDomain.
261 * HostExecutionContextSwitcher.cs: Fx 2.0 stub required for AppDomain.
263 2004-08-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
265 * Timer.cs: don't invoke the callback if the period changes before the
266 due time. Fixes bug #62421.
268 2004-07-27 Lluis Sanchez Gual <lluis@novell.com>
270 * ExecutionContext.cs, ExecutionContextSwitcher.cs,
271 SynchronizationContext.cs, SynchronizationContextSwitcher.cs: Added
274 2004-07-15 Dick Porter <dick@ximian.com>
276 * Thread.cs: Hold a lock in GetNamedDataSlot. Fixes bug 61582,
277 based on patch by Sbastien Robitaille
278 (sebastien.robitaille@croesus.com). Also fix instances of
279 lock(typeof(Thread)) to lock a private object instead.
281 2004-07-14 Sebastien Pouliot <sebastien@ximian.com>
283 * AsyncFlowControl.cs: New structure in Fx 2.0 required in
284 System.Security namespace.
285 * CompressedStackSwitcher.cs: New structure in Fx 2.0 required in
286 System.Security namespace.
287 * ContextCallback.cs: New delegate in Fx 2.0 required in
288 System.Security namespace.
289 * CompressedStack.cs: Updated API for NET_2_0 profile.
291 2004-07-10 Lluis Sanchez Gual <lluis@ximian.com>
293 * SendOrPostCallback.cs: New delegate.
295 2004-06-24 Dick Porter <dick@ximian.com>
297 * Mutex.cs: Implement the createdNew parameter
299 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
301 * Thread.cs: changed return type of VolatileRead to UIntPtr
302 * ThreadPool.cs: set return type of SetMinThreads to bool
304 2004-06-15 Lluis Sanchez Gual <lluis@ximian.com>
306 * Thread.cs: Added new fields to keep sync with MonoThread.
307 Removed state changes in Sleep and Join. The state change is now done
308 in the icall. For accessing to internal fields lock with synch_lock
309 instead of this, which can be a source of deadlocks.
311 2004-06-15 Lluis Sanchez Gual <lluis@ximian.com>
313 * Timer.cs: Don't abort the thread if Dispose() is called from the runner
316 2004-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
319 (CurrentPrincipal): lock on CurrentThread, not typeof (Thread) and set
320 the thread IPrincipal if we get it from the AppDomain.
322 2004-06-09 Gert Driesen <drieseng@users.sourceforge.net>
324 * CompressedStack.cs: Added finalizer to match public API of
327 2004-05-19 Lluis Sanchez Gual <lluis@ximian.com>
329 * Thread.cs: Some fixes in Abort. Implemented Suspend and Resume.
330 Added internal interruption_requested field.
332 2004-05-13 Sebastien Pouliot <sebastien@ximian.com>
334 * CompressedStack.cs: Added an internal constructor so a default one
335 doesn't appear with corcompare.
336 * Thread.cs: Added missing MemoryBarrier (only for 1.1) and SpinWait to please
337 corcompare. Both throw a NotImplementedException.
338 * ThreadPool.cs: Added missing UnsafeRegisterWaitForSingleObject methods (4
339 overloads) to please corcompare. All throw a NotImplementedException.
341 2004-05-12 Zoltan Varga <vargaz@freemail.hu>
343 * CompressedStack.cs: New file.
345 2004-04-15 Lluis Sanchez Gual <lluis@ximian.com>
347 * ThreadPool.cs: Added GetMinThreads and SetMinThreads.
348 * Timer.cs: In Change, return false if the timer has been disposed.
349 In Dispose, notify the WaitHandle.
351 2004-04-11 Lluis Sanchez Gual <lluis@ximian.com>
353 * ReaderWriterLock.cs: More fixes: never wait where acquiring a reader lock
354 if the thread already has the lock. Added readyWaitingReaders variable to
355 keep track of threads ready to get the reader lock.
357 2004-04-11 Lluis Sanchez Gual <lluis@ximian.com>
359 * LockQueue.cs: Moved lockCount change inside the rwlock lock. Removed
360 lock(this) when entering the rwlock to avoid a deadlock.
361 * ReaderWriterLock.cs: In AcquireWriterLock, queue the thread if the queue
362 is not empty (even if state==0).
364 2004-04-09 Zoltan Varga <vargaz@freemail.hu>
366 * Timer.cs: Call the callback immediately if dueTime is 0. Fixes
369 2004-04-08 Jackson Harper <jackson@ximian.com>
371 * ReaderWriterLock.cs: Fix tyop
373 2004-04-08 Lluis Sanchez Gual <lluis@ximian.com>
375 * ReaderWriterLock.cs: Changed some methods to private.
376 * WaitHandle.cs: In Wait methods, release the synchronization context when
379 2004-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
381 * Timer.cs: call Abort on the Runner instance too.
383 2004-04-07 Jackson Harper <jackson@ximian.com>
385 * Thread.cs: Use new culture info method for constructing the
388 2004-04-07 Lluis Sanchez Gual <lluis@ximian.com>
390 * ReaderWriterLock.cs: When a thread holds a writer lock, a call to
391 AcquireReaderLock works like a call to AcquireWriterLock.
393 2004-04-06 Lluis Sanchez Gual <lluis@ximian.com>
395 * Monitor.cs: In Wait(), release the synchronization context when
398 2004-04-06 Lluis Sanchez Gual <lluis@ximian.com>
400 * LockCookie.cs: Keep in this class the count of reader or writer locks
401 for a thread, not only whether it has locks or not.
402 * LockQueue.cs: Added property for checking if a thread is waiting in
403 the queue. Wait now returns a boolean that set to false on timeout
405 * ReaderWriterLock.cs: Started fixing bugs but I had to rewrite a lot of it.
406 The main change is that now it keeps a reader lock count for each
407 thread. This is needed since methods like ReleaseLock or
408 UpgradeToWriterLock need to return a per-thread status in LockCookie.
409 Also added support for recursive writer-lock requests.
411 2004-03-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
413 * ThreadAbortException.cs: use same HResult as MS.
414 * Timer.cs: abort the running thread when disposing the Timer. This
415 fixes NullRefs when finishing xsp.
417 2004-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
419 * NativeOverlapped.cs: added 2 new internal fields.
420 * Overlapped.cs: implemented, but it's not used.
422 * ThreadPool.cs: implemented BindHandle.
424 2004-03-08 Zoltan Varga <vargaz@freemail.hu>
426 * Timer.cs (Dispose): Applied patch from Jaroslaw Kowalski
427 (jaak@zd.com.pl). Fix finalization problems during appdomain unload.
429 2004-02-23 Jackson Harper <jackson@ximian.com>
431 * LockCookie.cs: Add some fields for restoring locks.
432 * ReaderWriterLock.cs: Implement
433 * LockQueue.cs: New File - used for queueing thread locks in
436 2004-02-19 Jackson Harper <jackson@ximian.com>
438 * Monitor.cs: Fix spelleng.
440 2004-02-09 Zoltan Varga <vargaz@freemail.hu>
442 * Thread.cs: Add fields added to unmanaged MonoThread here as well.
443 Fixes random errors caused by memory corruption.
445 2004-02-06 Zoltan Varga <vargaz@freemail.hu>
447 * Thread.cs: Store the thread name in unmanaged memory, since the
448 thread object is shared between appdomains.
450 2004-02-05 Sebastien Pouliot <sebastien@ximian.com>
452 * Thread.cs: Implemented CurrentPrincipal.
454 2004-01-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
456 * Thread.cs: delayed thread creation until Start is called. If we
457 don't do that and Start() is not called, the thread is leaked. First
458 step towards fixing bug #53078.
460 2003-12-02 Dick Porter <dick@ximian.com>
462 * Thread.cs: Throw InvalidOperationException if Thread.Name is
465 2003-12-01 Dick Porter <dick@ximian.com>
467 * Thread.cs: Implement CurrentCulture and CurrentUICulture
469 2003-11-12 Miguel de Icaza <miguel@ximian.com>
471 * Thread.cs: Add new VolatileRead/VolatileWrite methods from 1.1
473 2003-10-23 Lluis Sanchez Gual <lluis@ximian.com>
475 * Thread.cs: Added ResetDataStoreStatus and RestoreDataStoreStatus
476 methods. They are used in CrossAppDomainChannel to save and restore
477 thread's local data when switching between domains.
479 2003-10-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
481 * ManualResetEvent.cs: added check for disposed.
482 * Thread.cs: no need to init this field.
484 2003-10-01 Zoltan Varga <vargaz@freemail.hu>
486 * Thread.cs: Add locking to AllocateNamedDataSlot and
489 Wed Aug 20 12:01:36 CEST 2003 Paolo Molaro <lupus@ximian.com>
491 * Thread.cs: put all the fields at the start and add
492 more fields needed by the runtime.
494 2003-08-14 Lluis Sanchez Gual <lluis@ximian.com>
496 * Thread.cs: SetData() method: use Hashtable.Contains to check
497 if a dataslot has been allocated (value could be null).
499 2003-07-23 Duncan Mak <duncan@ximian.com>
501 * WaitHandle.cs (CheckDisposed): This method is not in the public
502 API, mark it as 'internal'.
504 2003-07-01 Dick Porter <dick@ximian.com>
506 * Thread.cs: Throw an exception if thread creation failed.
507 (Better than just blowing up later.)
509 2003-06-27 Dietmar Maurer <dietmar@ximian.com>
511 * ThreadPool.cs: use async delegate invoke.
513 2003-06-25 Dick Porter <dick@ximian.com>
515 * WaitHandle.cs: Default handle value should be InvalidHandle, not
518 2003-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
520 * ThreadPool.cs: correctly create a TimeSpan with provided the number of
523 * WaitHandle.cs: fixes for WaitAny/All and TimeSpan.
525 2003-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
527 * WaitHandle.cs: checks and exceptions.
529 2003-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
531 * NativeEventCalls.cs: added CloseEvent_intenal.
532 * WaitHandle.cs: call CloseEvent_internal when disposing.
534 2003-05-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
536 * RegisteredWaitHandle.cs: check that the callback is not null before
539 * ThreadPool.cs: fixed timeout -> TimeSpan conversions (closes bug
540 #43963). Queue the item before setting the handle. If there's a timeout,
541 avoid trying to Dequeue, getting the exception et al, just continue the
544 Mon May 19 09:07:45 CEST 2003 Paolo Molaro <lupus@ximian.com>
546 * Monitor.cs: removed test_owner, the check is already done in the
549 Tue May 13 15:34:29 CEST 2003 Paolo Molaro <lupus@ximian.com>
551 * Thread.cs: added missing field used by the runtime and
552 a new field to support thread-static data.
554 2003-04-17 Pedro Mart�ez Juli� <yoros@wanadoo.es>
556 * Timer.cs: Change the position of two lines because they were
557 before the "if" that ensures the integrity. After this, the first of
558 that two lines was producing a NullReferenceException.
560 2003-04-09 Dick Porter <dick@ximian.com>
562 * Thread.cs: Make sure a reference to the ThreadStart delegate is
563 held. There's no telling how long it will be before
564 Thread.Start() is called, and GC might destroy the delegate.
565 Thread() and Start() need to be rewritten so that the runtime
566 creates the new thread when Start() is called, which will simplify
567 the code a great deal.
569 2003-03-20 Miguel de Icaza <miguel@ximian.com>
571 * Thread.cs (CurrentCuluture): use the invaraint culture instead
572 of "" for the current_culture setting.
574 2003-03-25 Zoltan Varga <vargaz@freemail.hu>
576 * Thread.cs: Fix visibility of ResetAbort().
578 2003-03-18 Dick Porter <dick@ximian.com>
580 * Thread.cs: Keep the thread state updated in all the places that
581 require it. (Suspend, Resume and Interrupt not handled yet)
583 2003-03-03 Lluis Sanchez Gual <lluis@ideary.com>
585 * Thread.cs: Changed implementation of CurrentContext, adapted to the changes
588 2003-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
590 * Thread.cs: implemented CurrentContext.
592 2003-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
594 * Thread.cs: made the thread_id for the current thread accesible through
595 an internal property.
597 2003-02-17 Dick Porter <dick@ximian.com>
599 * Thread.cs: Added the Start semaphore field to the class. Update
600 the thread state after Start() has returned, not before.
602 2003-02-13 Zoltan Varga <vargaz@freemail.hu>
604 * Thread.cs (Sleep): Timeout.Infinite is a value argument.
606 2003-02-11 Dick Porter <dick@ximian.com>
608 * Monitor.cs: Infinite wait is Infinite, not 0 ms
610 2003-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
612 * Thread.cs: fixed bug #37759.
614 2003-02-07 Patrik Torstensson
616 * Timer.cs: Set the Background thread flag for the timer thread
618 2003-02-05 Patrik Torstensson
620 * ThreadPool.cs: Reformated and fixed issue that made all thread exit the pool.
622 2003-02-04 Lluis Sanchez Gual <lluis@ideary.com>
624 * ThreadPool.cs: Implemented RegisterWaitForSingleObject methods.
626 Tue Jan 28 17:55:59 CET 2003 Paolo Molaro <lupus@ximian.com>
628 * Thread.cs: delay-init datastorehash.
630 2003-01-10 Patrik Torstensson <totte@race-x-change.com>
632 * ThreadPool.cs: Temporary removed the usage of monitor thread, implemented a
633 model more equal to the MS one.
635 2002-12-10 Dick Porter <dick@ximian.com>
641 * WaitHandle.cs: Use TotalMilliseconds to convert a TimeSpan to
642 ms, not Milliseconds.
644 2002-12-07 Martin Baulig <martin@ximian.com>
646 * Timer.cs: Make it actually work; now it no longer sets your
647 application on fire if you use a zero periode and Timer.Change()
650 2002-11-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
652 * Timer.cs: implemented more stuff. It works now.
654 2002-10-25 Zoltan Varga <vargaz@freemail.hu>
656 * Thread.cs: Implement GetDomain() and GetDomainID().
658 2002-10-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
660 * ThreadPool.cs: now the monitor thread is not sleeping and checking if
661 more worker threads needed. It waits on _DataInQueue. If (and only if)
662 there's data in the queue it checks if more worker threads needed and
663 then sleeps 0.5s before waiting for queued data again.
665 2002-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
667 * ThreadPool.cs: set IsThreadPoolThread before starting the worker.
669 2002-09-11 Dick Porter <dick@ximian.com>
672 * ManualResetEvent.cs:
673 * AutoResetEvent.cs: Use the WaitHandle.Handle property instead of
676 * WaitHandle.cs: Hide the os_handle field and the WaitOne_internal
679 2002-09-03 Dick Porter <dick@ximian.com>
681 * Thread.cs: Added thread ID field
683 2002-08-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
685 * WaitHandle.cs: IDisposable fixes.
687 2002-08-14 Dick Porter <dick@ximian.com>
689 * Thread.cs: Make CurrentUICulture act the same as CurrentCulture
692 2002-08-12 Dietmar Maurer <dietmar@ximian.com>
694 * ThreadAbortException.cs: impl. ExceptionState property.
696 * Thread.cs: moved all instance variables to the start of the
697 class. added support for Thread::Abort()
699 2002-04-30 Dick Porter <dick@ximian.com>
701 * Thread.cs: If LocalDataStoreSlot already has data set, remove it
702 before adding a new one.
704 Use the Thread object destructor to tell the runtime to close the
707 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
709 * Interlocked.cs: made all methods icalls.
711 2002-04-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
713 * IOCompletionCallback.cs: added attributes to the delegate
714 (CLSCompliant(false) and Serializable).
716 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
717 * Thread.cs: Fixed IsThreadPoolThread to use a internal property instead of extending
718 the threadstate enum.
719 * ThreadPool.cs: Now using the internal Isthreadpoolthread property
720 * ThreadState.cs: removed non-standard enum (ThreadPoolThread)
722 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
724 * ThreadState.cs: Added enum for threadpool thread
725 * Thread.cs: changed the set/clr_state to be internal (used from threadpool)
726 * Thread.cs: Added IsThreadPoolThread
727 * ThreadPool.cs: Implementation of QueueUserWorkItem
729 Wed Feb 13 21:51:30 CET 2002 Paolo Molaro <lupus@ximian.com>
731 * Thread.cs: implement CurrentCulture property needed by
732 Convert.ChangeType() (used when compiling enums).
734 2002-01-23 Dick Porter <dick@ximian.com>
736 * ManualResetEvent.cs:
737 * AutoResetEvent.cs: Fixed DOS line endings
739 2002-01-22 Veronica De Santis <veron78@interfree.it>
741 * NativeEventCalls : Class that contains internal calls shared by Auto
742 and Manual Reset Events
743 * AutoResetEvents.cs : Added class AutoResetEvents and its implementation
744 * ManualResetEvents.cs : Added class ManualResetEvents and its implementation
746 2002-01-16 Veronica De Santis <veron78@interfree.it>
748 * WaitHandle.cs : Renamed handle to os_handle and make it protected
750 * Mutex.cs : Write the System.Threading.Mutex methods ( constructors
751 and the ReleaseMutex)
753 2002-01-15 Dick Porter <dick@ximian.com>
756 * Thread.cs: Make the runtime's idea of infinite timeouts coincide
757 with the class library's
759 2002-01-10 Dick Porter <dick@ximian.com>
761 * WaitHandle.cs: Added checks for too many handles and null
762 handles in WaitAll() and WaitAny
765 2002-01-05 Ravi Pratap <ravi@ximian.com>
767 * AutoResetEvent.cs, ManualResetEvent.cs, Monitor.cs : MonoTODO
770 * Mutex.cs, Overlapped.cs, ReaderWriterLock.cs, RegisteredWaitHandle.cs,
771 Thread.cs, ThreadAbortException.cs, ThreadPool.cs, Timer.cs, WaitHandler.cs : Ditto.
773 2001-12-11 Dick Porter <dick@ximian.com>
775 * WaitHandle.cs: Implemented WaitAll(), WaitAny() and WaitOne() as
778 2001-11-26 Dick Porter <dick@ximian.com>
780 * Thread.cs: DataSlot uses a single system TLS slot, and a
781 hashtable per thread. Some minor changes to reflect the new
782 internal calls using the new IO library, and the newly-supported
783 bool returns from internal calls.
785 * Monitor.cs: Use bool returns from internal calls now they are
786 supported by the runtime. Coalesce enter with the try_enter
789 Wed Nov 14 17:06:18 CET 2001 Paolo Molaro <lupus@ximian.com>
791 * Overlapped.cs, ThreadPool.cs, Timer.cs: CLSCompliant updates.
793 2001-10-03 Dick Porter <dick@ximian.com>
795 * Monitor.cs: Implemented all methods except the two Wait()
796 methods that take boolean parameters
798 2001-09-28 Dick Porter <dick@ximian.com>
800 * Thread.cs: Implemented AllocateDataSlot(),
801 AllocateNamedDataSlot(), FreeNamedDataSlot(), GetData(),
802 GetNamedDataSlot(), SetData(), IsBackground. Reworked Thread()
803 and Start() to avoid a race condition. Added thread-safe state
804 changing private operations.
806 * Monitor.cs: Comment out the GetType() calls because it isn't implemented yet
808 2001-09-25 Dick Porter <dick@ximian.com>
810 * Thread.cs: Implement Join and timed Join, set correct state
811 around Start, Join and Sleep calls, implement IsAlive and
812 ThreadState properties.
814 * ThreadState.cs (Threading): Added StopRequested,
815 SuspendRequested, Suspended values
817 2001-09-23 Dick Porter <dick@ximian.com>
819 * Thread.cs: Implemented CurrentThread and Sleep (both versions)
820 with internal calls, and Name.
822 2001-09-21 Dick Porter <dick@ximian.com>
824 * Thread.cs: Implement Thread(ThreadStart) constructor and Start()
825 with an internal call
827 * WaitHandle.cs: Close calls Dispose(false)
829 2001-09-13 Dick Porter <dick@ximian.com>
831 * ApartmentState.cs (Threading): Set the correct enum values
833 2001-09-13 Dick Porter <dick@ximian.com>
835 * ApartmentState.cs, AutoResetEvent.cs, IOCompletionCallback.cs,
836 Interlocked.cs, LockCookie.cs, ManualResetEvent.cs, Monitor.cs,
837 Mutex.cs, NativeOverlapped.cs, Overlapped.cs, ReaderWriterLock.cs,
838 RegisteredWaitHandle.cs, SynchronizationLockException.cs,
839 Thread.cs, ThreadAbortException.cs, ThreadInterruptedException.cs,
840 ThreadPool.cs, ThreadStart.cs, ThreadStateException.cs,
841 Timeout.cs, Timer.cs, TimerCallback.cs, WaitCallback.cs,
842 WaitHandle.cs, WaitOrTimerCallback.cs: System.Threading class
845 2001-07-18 Michael Lambert <michaellambert@email.com>
847 * ThreadPriority.cs, ThreadState.cs: Add.