|
5 | 5 | import sys
|
6 | 6 |
|
7 | 7 | # Some tests use SIGUSR1, but that's blocked by default in an Android app in
|
8 |
| -# order to make it available to `sigwait` in the Signal Catcher thread. That |
9 |
| -# thread's functionality is only useful for debugging the JVM, so disabling it |
10 |
| -# should not weaken the tests. |
| 8 | +# order to make it available to `sigwait` in the Signal Catcher thread. |
| 9 | +# (https://cs.android.com/android/platform/superproject/+/android14-qpr3-release:art/runtime/signal_catcher.cc). |
| 10 | +# That thread's functionality is only useful for debugging the JVM, so disabling |
| 11 | +# it should not weaken the tests. |
11 | 12 | #
|
12 |
| -# Simply unblocking SIGUSR1 is enough to fix most tests that use it. But in |
13 |
| -# tests that generate multiple different signals in quick succession, it's |
14 |
| -# possible for SIGUSR1 to arrive while the main thread is busy running the |
15 |
| -# C-level handler for a different signal, in which case the SIGUSR1 may be sent |
16 |
| -# to the Signal Catcher thread instead. When this happens, there will be a log |
| 13 | +# There's no safe way of stopping the thread completely (#123982), but simply |
| 14 | +# unblocking SIGUSR1 is enough to fix most tests. |
| 15 | +# |
| 16 | +# However, in tests that generate multiple different signals in quick |
| 17 | +# succession, it's possible for SIGUSR1 to arrive while the main thread is busy |
| 18 | +# running the C-level handler for a different signal. In that case, the SIGUSR1 |
| 19 | +# may be sent to the Signal Catcher thread instead, which will generate a log |
17 | 20 | # message containing the text "reacting to signal".
|
18 | 21 | #
|
19 |
| -# In such cases, the tests may need to be changed. Possible workarounds include: |
| 22 | +# Such tests may need to be changed in one of the following ways: |
20 | 23 | # * Use a signal other than SIGUSR1 (e.g. test_stress_delivery_simultaneous in
|
21 | 24 | # test_signal.py).
|
22 | 25 | # * Send the signal to a specific thread rather than the whole process (e.g.
|
|
0 commit comments