1 2003-12-02 Dick Porter <dick@ximian.com>
3 * Thread.cs: Throw InvalidOperationException if Thread.Name is
6 2003-12-01 Dick Porter <dick@ximian.com>
8 * Thread.cs: Implement CurrentCulture and CurrentUICulture
10 2003-11-12 Miguel de Icaza <miguel@ximian.com>
12 * Thread.cs: Add new VolatileRead/VolatileWrite methods from 1.1
14 2003-10-23 Lluis Sanchez Gual <lluis@ximian.com>
16 * Thread.cs: Added ResetDataStoreStatus and RestoreDataStoreStatus
17 methods. They are used in CrossAppDomainChannel to save and restore
18 thread's local data when switching between domains.
20 2003-10-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
22 * ManualResetEvent.cs: added check for disposed.
23 * Thread.cs: no need to init this field.
25 2003-10-01 Zoltan Varga <vargaz@freemail.hu>
27 * Thread.cs: Add locking to AllocateNamedDataSlot and
30 Wed Aug 20 12:01:36 CEST 2003 Paolo Molaro <lupus@ximian.com>
32 * Thread.cs: put all the fields at the start and add
33 more fields needed by the runtime.
35 2003-08-14 Lluis Sanchez Gual <lluis@ximian.com>
37 * Thread.cs: SetData() method: use Hashtable.Contains to check
38 if a dataslot has been allocated (value could be null).
40 2003-07-23 Duncan Mak <duncan@ximian.com>
42 * WaitHandle.cs (CheckDisposed): This method is not in the public
43 API, mark it as 'internal'.
45 2003-07-01 Dick Porter <dick@ximian.com>
47 * Thread.cs: Throw an exception if thread creation failed.
48 (Better than just blowing up later.)
50 2003-06-27 Dietmar Maurer <dietmar@ximian.com>
52 * ThreadPool.cs: use async delegate invoke.
54 2003-06-25 Dick Porter <dick@ximian.com>
56 * WaitHandle.cs: Default handle value should be InvalidHandle, not
59 2003-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
61 * ThreadPool.cs: correctly create a TimeSpan with provided the number of
64 * WaitHandle.cs: fixes for WaitAny/All and TimeSpan.
66 2003-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
68 * WaitHandle.cs: checks and exceptions.
70 2003-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
72 * NativeEventCalls.cs: added CloseEvent_intenal.
73 * WaitHandle.cs: call CloseEvent_internal when disposing.
75 2003-05-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
77 * RegisteredWaitHandle.cs: check that the callback is not null before
80 * ThreadPool.cs: fixed timeout -> TimeSpan conversions (closes bug
81 #43963). Queue the item before setting the handle. If there's a timeout,
82 avoid trying to Dequeue, getting the exception et al, just continue the
85 Mon May 19 09:07:45 CEST 2003 Paolo Molaro <lupus@ximian.com>
87 * Monitor.cs: removed test_owner, the check is already done in the
90 Tue May 13 15:34:29 CEST 2003 Paolo Molaro <lupus@ximian.com>
92 * Thread.cs: added missing field used by the runtime and
93 a new field to support thread-static data.
95 2003-04-17 Pedro MartÃnez Juliá <yoros@wanadoo.es>
97 * Timer.cs: Change the position of two lines because they were
98 before the "if" that ensures the integrity. After this, the first of
99 that two lines was producing a NullReferenceException.
101 2003-04-09 Dick Porter <dick@ximian.com>
103 * Thread.cs: Make sure a reference to the ThreadStart delegate is
104 held. There's no telling how long it will be before
105 Thread.Start() is called, and GC might destroy the delegate.
106 Thread() and Start() need to be rewritten so that the runtime
107 creates the new thread when Start() is called, which will simplify
108 the code a great deal.
110 2003-03-20 Miguel de Icaza <miguel@ximian.com>
112 * Thread.cs (CurrentCuluture): use the invaraint culture instead
113 of "" for the current_culture setting.
115 2003-03-25 Zoltan Varga <vargaz@freemail.hu>
117 * Thread.cs: Fix visibility of ResetAbort().
119 2003-03-18 Dick Porter <dick@ximian.com>
121 * Thread.cs: Keep the thread state updated in all the places that
122 require it. (Suspend, Resume and Interrupt not handled yet)
124 2003-03-03 Lluis Sanchez Gual <lluis@ideary.com>
126 * Thread.cs: Changed implementation of CurrentContext, adapted to the changes
129 2003-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
131 * Thread.cs: implemented CurrentContext.
133 2003-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
135 * Thread.cs: made the thread_id for the current thread accesible through
136 an internal property.
138 2003-02-17 Dick Porter <dick@ximian.com>
140 * Thread.cs: Added the Start semaphore field to the class. Update
141 the thread state after Start() has returned, not before.
143 2003-02-13 Zoltan Varga <vargaz@freemail.hu>
145 * Thread.cs (Sleep): Timeout.Infinite is a value argument.
147 2003-02-11 Dick Porter <dick@ximian.com>
149 * Monitor.cs: Infinite wait is Infinite, not 0 ms
151 2003-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
153 * Thread.cs: fixed bug #37759.
155 2003-02-07 Patrik Torstensson
157 * Timer.cs: Set the Background thread flag for the timer thread
159 2003-02-05 Patrik Torstensson
161 * ThreadPool.cs: Reformated and fixed issue that made all thread exit the pool.
163 2003-02-04 Lluis Sanchez Gual <lluis@ideary.com>
165 * ThreadPool.cs: Implemented RegisterWaitForSingleObject methods.
167 Tue Jan 28 17:55:59 CET 2003 Paolo Molaro <lupus@ximian.com>
169 * Thread.cs: delay-init datastorehash.
171 2003-01-10 Patrik Torstensson <totte@race-x-change.com>
173 * ThreadPool.cs: Temporary removed the usage of monitor thread, implemented a
174 model more equal to the MS one.
176 2002-12-10 Dick Porter <dick@ximian.com>
182 * WaitHandle.cs: Use TotalMilliseconds to convert a TimeSpan to
183 ms, not Milliseconds.
185 2002-12-07 Martin Baulig <martin@ximian.com>
187 * Timer.cs: Make it actually work; now it no longer sets your
188 application on fire if you use a zero periode and Timer.Change()
191 2002-11-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
193 * Timer.cs: implemented more stuff. It works now.
195 2002-10-25 Zoltan Varga <vargaz@freemail.hu>
197 * Thread.cs: Implement GetDomain() and GetDomainID().
199 2002-10-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
201 * ThreadPool.cs: now the monitor thread is not sleeping and checking if
202 more worker threads needed. It waits on _DataInQueue. If (and only if)
203 there's data in the queue it checks if more worker threads needed and
204 then sleeps 0.5s before waiting for queued data again.
206 2002-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
208 * ThreadPool.cs: set IsThreadPoolThread before starting the worker.
210 2002-09-11 Dick Porter <dick@ximian.com>
213 * ManualResetEvent.cs:
214 * AutoResetEvent.cs: Use the WaitHandle.Handle property instead of
217 * WaitHandle.cs: Hide the os_handle field and the WaitOne_internal
220 2002-09-03 Dick Porter <dick@ximian.com>
222 * Thread.cs: Added thread ID field
224 2002-08-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
226 * WaitHandle.cs: IDisposable fixes.
228 2002-08-14 Dick Porter <dick@ximian.com>
230 * Thread.cs: Make CurrentUICulture act the same as CurrentCulture
233 2002-08-12 Dietmar Maurer <dietmar@ximian.com>
235 * ThreadAbortException.cs: impl. ExceptionState property.
237 * Thread.cs: moved all instance variables to the start of the
238 class. added support for Thread::Abort()
240 2002-04-30 Dick Porter <dick@ximian.com>
242 * Thread.cs: If LocalDataStoreSlot already has data set, remove it
243 before adding a new one.
245 Use the Thread object destructor to tell the runtime to close the
248 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
250 * Interlocked.cs: made all methods icalls.
252 2002-04-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
254 * IOCompletionCallback.cs: added attributes to the delegate
255 (CLSCompliant(false) and Serializable).
257 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
258 * Thread.cs: Fixed IsThreadPoolThread to use a internal property instead of extending
259 the threadstate enum.
260 * ThreadPool.cs: Now using the internal Isthreadpoolthread property
261 * ThreadState.cs: removed non-standard enum (ThreadPoolThread)
263 2002-04-14 Patrik Torstensson <patrik.torstensson@labs2.com>
265 * ThreadState.cs: Added enum for threadpool thread
266 * Thread.cs: changed the set/clr_state to be internal (used from threadpool)
267 * Thread.cs: Added IsThreadPoolThread
268 * ThreadPool.cs: Implementation of QueueUserWorkItem
270 Wed Feb 13 21:51:30 CET 2002 Paolo Molaro <lupus@ximian.com>
272 * Thread.cs: implement CurrentCulture property needed by
273 Convert.ChangeType() (used when compiling enums).
275 2002-01-23 Dick Porter <dick@ximian.com>
277 * ManualResetEvent.cs:
278 * AutoResetEvent.cs: Fixed DOS line endings
280 2002-01-22 Veronica De Santis <veron78@interfree.it>
282 * NativeEventCalls : Class that contains internal calls shared by Auto
283 and Manual Reset Events
284 * AutoResetEvents.cs : Added class AutoResetEvents and its implementation
285 * ManualResetEvents.cs : Added class ManualResetEvents and its implementation
287 2002-01-16 Veronica De Santis <veron78@interfree.it>
289 * WaitHandle.cs : Renamed handle to os_handle and make it protected
291 * Mutex.cs : Write the System.Threading.Mutex methods ( constructors
292 and the ReleaseMutex)
294 2002-01-15 Dick Porter <dick@ximian.com>
297 * Thread.cs: Make the runtime's idea of infinite timeouts coincide
298 with the class library's
300 2002-01-10 Dick Porter <dick@ximian.com>
302 * WaitHandle.cs: Added checks for too many handles and null
303 handles in WaitAll() and WaitAny
306 2002-01-05 Ravi Pratap <ravi@ximian.com>
308 * AutoResetEvent.cs, ManualResetEvent.cs, Monitor.cs : MonoTODO
311 * Mutex.cs, Overlapped.cs, ReaderWriterLock.cs, RegisteredWaitHandle.cs,
312 Thread.cs, ThreadAbortException.cs, ThreadPool.cs, Timer.cs, WaitHandler.cs : Ditto.
314 2001-12-11 Dick Porter <dick@ximian.com>
316 * WaitHandle.cs: Implemented WaitAll(), WaitAny() and WaitOne() as
319 2001-11-26 Dick Porter <dick@ximian.com>
321 * Thread.cs: DataSlot uses a single system TLS slot, and a
322 hashtable per thread. Some minor changes to reflect the new
323 internal calls using the new IO library, and the newly-supported
324 bool returns from internal calls.
326 * Monitor.cs: Use bool returns from internal calls now they are
327 supported by the runtime. Coalesce enter with the try_enter
330 Wed Nov 14 17:06:18 CET 2001 Paolo Molaro <lupus@ximian.com>
332 * Overlapped.cs, ThreadPool.cs, Timer.cs: CLSCompliant updates.
334 2001-10-03 Dick Porter <dick@ximian.com>
336 * Monitor.cs: Implemented all methods except the two Wait()
337 methods that take boolean parameters
339 2001-09-28 Dick Porter <dick@ximian.com>
341 * Thread.cs: Implemented AllocateDataSlot(),
342 AllocateNamedDataSlot(), FreeNamedDataSlot(), GetData(),
343 GetNamedDataSlot(), SetData(), IsBackground. Reworked Thread()
344 and Start() to avoid a race condition. Added thread-safe state
345 changing private operations.
347 * Monitor.cs: Comment out the GetType() calls because it isn't implemented yet
349 2001-09-25 Dick Porter <dick@ximian.com>
351 * Thread.cs: Implement Join and timed Join, set correct state
352 around Start, Join and Sleep calls, implement IsAlive and
353 ThreadState properties.
355 * ThreadState.cs (Threading): Added StopRequested,
356 SuspendRequested, Suspended values
358 2001-09-23 Dick Porter <dick@ximian.com>
360 * Thread.cs: Implemented CurrentThread and Sleep (both versions)
361 with internal calls, and Name.
363 2001-09-21 Dick Porter <dick@ximian.com>
365 * Thread.cs: Implement Thread(ThreadStart) constructor and Start()
366 with an internal call
368 * WaitHandle.cs: Close calls Dispose(false)
370 2001-09-13 Dick Porter <dick@ximian.com>
372 * ApartmentState.cs (Threading): Set the correct enum values
374 2001-09-13 Dick Porter <dick@ximian.com>
376 * ApartmentState.cs, AutoResetEvent.cs, IOCompletionCallback.cs,
377 Interlocked.cs, LockCookie.cs, ManualResetEvent.cs, Monitor.cs,
378 Mutex.cs, NativeOverlapped.cs, Overlapped.cs, ReaderWriterLock.cs,
379 RegisteredWaitHandle.cs, SynchronizationLockException.cs,
380 Thread.cs, ThreadAbortException.cs, ThreadInterruptedException.cs,
381 ThreadPool.cs, ThreadStart.cs, ThreadStateException.cs,
382 Timeout.cs, Timer.cs, TimerCallback.cs, WaitCallback.cs,
383 WaitHandle.cs, WaitOrTimerCallback.cs: System.Threading class
386 2001-07-18 Michael Lambert <michaellambert@email.com>
388 * ThreadPriority.cs, ThreadState.cs: Add.