[Mono-bugs] [Bug 417871] New: Thread.Abort() not working correctly.
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Sun Aug 17 15:21:37 EDT 2008
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: mono-bugs at lists.ximian.com
ReportedBy: dale at zipibackup.com
QAContact: mono-bugs at lists.ximian.com
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.
More information about the mono-bugs
mailing list