[Mono-bugs] [Bug 74983][Nor] Changed - ThreadPool worker threads don't abort when Main ends

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Fri May 20 21:45:12 EDT 2005


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by brion at pobox.com.

http://bugzilla.ximian.com/show_bug.cgi?id=74983

--- shadow/74983	2005-05-20 18:09:48.000000000 -0400
+++ shadow/74983.tmp.20516	2005-05-20 21:45:12.000000000 -0400
@@ -1,23 +1,23 @@
 Bug#: 74983
 Product: Mono: Runtime
 Version: 1.1
 OS: unknown
 OS Details: Mac OS X 10.4.1
-Status: RESOLVED   
-Resolution: NOTABUG
+Status: REOPENED   
+Resolution: 
 Severity: Unknown
 Priority: Normal
 Component: misc
 AssignedTo: mono-bugs at ximian.com                            
 ReportedBy: brion at pobox.com               
 QAContact: mono-bugs at ximian.com
 TargetMilestone: ---
 URL: 
 Cc: 
-Summary: Multithreaded program sometimes exits unexpectedly on Mac OS X
+Summary: ThreadPool worker threads don't abort when Main ends
 
 Description of Problem:
 A simple multithreaded programs using the ThreadPool sometimes exits or 
 hangs unexpectedly on Mac OS X, even with a small number of threads.
 
 Steps to reproduce the problem:
@@ -51,6 +51,22 @@
 Your 'Expected results' are not right.
 
 Threads in the threadpool are background threads so once Main exits
 they will not be joined, just aborted/stopped
 
 
+
+------- Additional Comments From brion at pobox.com  2005-05-20 21:45 -------
+Gonzalo, thanks for the clarification. If it's *supposed* to abort, 
+then it appears there is still a bug since it *does not* abort or stop 
+about 1/3 of the time on Mac OS X and 100% of the time on Linux.
+
+I've changed the summary to reflect the correct expectation. If the 
+behavior of background threads on Main exit is in fact undefined 
+rather than specified to abort, or if I'm doing something else 
+stupidly wrong, then please feel free to close this again.
+
+Adding a Thread.Sleep(2000) before the end of the Main method seems to 
+end things on Mac OS X reliably at 2 and at 20 threads; on Linux it 
+reliably ends at 2 threads, but not at 20 threads where it continues 
+to run.
+


More information about the mono-bugs mailing list