[Mono-bugs] [Bug 320004] in MS.Net 2.0, finally blocks are not interrupted by ThreadAbortExceptions/Interrupt

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Wed Aug 12 02:54:42 EDT 2009


User andrew at it.swin.edu.au added comment

Andrew Cain <andrew at it.swin.edu.au> changed:

           What    |Removed                     |Added
           Priority|P3 - Medium                 |P2 - High
                 CC|                            |andrew at it.swin.edu.au
           Platform|Other                       |i386
            Version|1.1                         |2.4.x
         OS/Version|Other                       |Mac OS X 10.5

--- Comment #1 from Andrew Cain <andrew at it.swin.edu.au>  2009-08-12 00:54:37 MDT ---
Mono 2.4 (2.4.2 on Mac) still exhibits this erroneous behaviour. This makes it
difficult to write reusable thread safe concurrency utilities for Mono as no
protection is offered to code within finally blocks. For example a blocking
buffer using semaphores would need to go to significant extra effort to
guarantee that a token was taken/added to a semaphore on enqueue/dequeue - this
could be done safely using a finally block to ensure the token was taken/added
when the data was successfully enqueued/dequeued.

The new attached code should produce the following (generated from MS.NET):

Pre lock
Pre Sleep
Post Sleep
Post Lock

but produced the following indicating that the enter of monitor is interrupted
(lock entry):

Configure bugmail: http://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