[crac] RFR: CRaC: Fix fds opened for logging [v2]
Radim Vansa
rvansa at openjdk.org
Mon Oct 2 18:37:12 UTC 2023
On Mon, 2 Oct 2023 14:48:48 GMT, Jan Kratochvil <jkratochvil at openjdk.org> wrote:
>> OK, I have to improve it, thanks.
>
> I hope the stop() and resume() do fix it. But there is no testcase for that, do you want it?
I guess that a testcase for the synchronization would be quite difficult to do, as you'd be trying to simulate a race.
However, I am not convinced the `stop()` and `resume()` work correctly: the log writer does not need to own the lock while writing messages to the (potentially nulled) outputs; you flush the buffer and then acquire the lock, effectively blocking all log producers from enqueuing further messages. However if someone enqueues a message right after flush, the log writer has a chance to dequeue it (actually swap queues) and even if you acquire lock then, continue writing these messages to the closed output.
-------------
PR Review Comment: https://git.openjdk.org/crac/pull/113#discussion_r1343024529
More information about the crac-dev
mailing list