mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-10 06:57:24 +00:00
During file rotation and WAL shutdown, there was a race condition between users of an autofile and its termination. To fix this, ensure operations on an autofile are properly synchronized, and report errors when attempting to use an autofile after it was closed. Notably: - Simplify the cancellation protocol between signal and Close. - Exclude writers to an autofile during rotation. - Add documentation about what is going on. There is a lot more that could be improved here, but this addresses the more obvious races that have been panicking unit tests.