commit | 7cfe15ee579ea83a7780c6190576fdcab3e2faac | [log] [tgz] |
---|---|---|
author | Andrew G. Morgan <[email protected]> | Wed Nov 11 19:53:06 2020 -0800 |
committer | Andrew G. Morgan <[email protected]> | Wed Nov 11 20:31:23 2020 -0800 |
tree | e11fb3068c6d06b8f3c28546db1626b02f464ad0 | |
parent | 9b1c003748d4df78416d50fce139f0875224440b [diff] |
Allow a dying thread to participate in the psx mechanism. If a dying thread blocks all interrupts in order to die in peace, it can deadlock the psx mechanism for all the surviving threads. To account for this corner case, while waiting to enter the _PSX_EXITING state, temporarily unblock the psx_tracker.psx_sig. https://github.com/golang/go/issues/42494 Add a psx_test.go:TestThreadChurn() test case for this issue. Signed-off-by: Andrew G. Morgan <[email protected]>