[runtime] Fix a pair of thread abort races in classic abort code.
commit701e30300652071d6b90bfbba35538d390a296a2
authorRodrigo Kumpera <kumpera@gmail.com>
Tue, 13 May 2014 22:55:15 +0000 (13 18:55 -0400)
committerRodrigo Kumpera <kumpera@gmail.com>
Tue, 13 May 2014 23:19:43 +0000 (13 19:19 -0400)
treee51a4ff4ce3fd2f61567d51ce76aceeab1cde5ec
parent56130af322979ce50e95a9f549f9c1d8e1e6c50d
[runtime] Fix a pair of thread abort races in classic abort code.

The two races in question are:

In signal_thread_state_change we need to block the target from
further waiting before we signal it or otherwise it might miss the
broadcast asking it to wakeup.

In mono_thread_request_interruption we need to ensure we self interrupt
before returning from the signal handler.
mono/metadata/threads.c