Nathan Goldbaum
Nathan Goldbaum
Here's what happens if I build cramjam with an updated PyO3: ``` error[E0277]: `*mut std::ffi::c_void` cannot be shared between threads safely --> src/lz4.rs:206:16 | 206 | pub struct Compressor {...
I also noticed the PyBuffer struct, which has `unsafe impl Sync` and `Send` and relies on the GIL for exclusive access to the PyBuffer. I think the free-threaded build probably...
see https://github.com/milesgranger/cramjam/pull/200 for an attempt at wrapping the decompressor context with a mutex.
> Therefore, from your point of view, is it acceptable in the short/medium term to give a big notice on this project that it is not thread-safe, namely from lz4...
I did another pass over the library today and would like to share what I've found to get some feedback. # Thread safety analysis ## Use of `unsafe impl` There...
Maybe we should have a type-erased PyBuffer in PyO3? I'll raise an issue over there.
I looked at adding multithreaded tests today and hit the behavior I describe in this CPython issue comment: https://github.com/python/cpython/issues/129107#issuecomment-2686217709. I can probably just blacklist using bytearrays on 3.13 in the...
After chatting with @rgommers a little, I think it might be best to wait until the 3.14 beta is released to work more extensively on this. My main concern is...
3.14.0b1 came out last week and PyO3 0.25 adds support, so we can start iterating on this again now. I'll send in a PR to update PyO3 soon.