Commit fd66320
committed
Test thread interrupt during mutex lock
In jruby#9218 a user discovered that thread interrupt during
an attempt to lock a mutex may render that mutex unusable from any
other fiber, even if it did not successfully lock. This spec tries
to trigger that state by having one thread loop while triggering a
raise interrupt on another thread that repeatedly locks a mutex
from within fibers.
This may not always fail when it is broken due to the timing issues
involved in triggering the interrupt after the lock was acquired
but before interrupts have been handled by the fiber, but 10x seems
sufficient to trigger the bug on JRuby.1 parent acd6e8a commit fd66320
1 file changed
Lines changed: 38 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
51 | 89 | | |
0 commit comments