Open
Description
Currently, we throw if hooks
are specified and shared
is true
.
This is mostly because it's tricky to use stream wrapping (one of the main use cases) with the atomic-append-based shared file sink, but also because it's unclear how many hooks could be implemented correctly in the synchronization-free world of the atomic-append sink.
When both hooks
and shared
are set, we could fall back to using the (portable) OS-mutex-based shared file sink. This would be simpler to integrate the hooks into, and we could call the hooks under the mutex to improve chances of writing correct implementations.