https://bugzilla.novell.com/show_bug.cgi?id=417871
Summary: Thread.Abort() not working correctly.
Product: Mono: Class Libraries
Version: 1.9
Platform: x86
OS/Version: Windows XP
Status: NEW
Keywords: tc
Severity: Major
Priority: P5 - None
Component: System
AssignedTo: [email protected]
ReportedBy: [EMAIL PROTECTED]
QAContact: [email protected]
Found By: Third Party Developer/Partner
Problem:
Calling Thread.Abort() isn't causing a ThreadAbortException on the target
thread as it should.
To Reproduce:
See the attached test case (with comments for correct/incorrect behaviour).
This works on DotNet2.0 (WinXP), but not on Mono 1.9.1 (WinXP).
Real World Usage:
We're using the Abort mechanism in a plugin framework as a way to shutdown
slow/frozen plugins running on the same thread as the host (for low latency
reasons). We simply catch the ThreadAbortException, call Thread.ResetAbort,
remove the blocked plugin, then continue.
Since the cross-thread exception triggering behaviour of Thread.Abort is
unique, there's no simple workaround. This is a real show-stopper for us.
Additional Info:
Strangely, adding a Thread.Sleep in the threads code makes it work on Mono, but
clearly that shouldn't be required.
(Note, the example given by the MS ThreadAbortException documentation happens
to have a Thread.Sleep, so it won't show the problem.)
Many thanks for your time.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
_______________________________________________
mono-bugs maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-bugs