Tomáš Mráz
Tomáš Mráz
> Without the synchronisation, the first thread to delete might have pending writes that are now possibly going to freed memory and so you'll end up with undefined behavior. So...
@kroeckx please feel free to submit an alternative PR. I will not fight for this one. But I will not submit a PR that I do not agree with.
@nhorman IMO this is the correct fix for the issues. I've cherry-picked the REF_PRINT_COUNT() fix from your PR.
> i think without that aquire the following read could be scheduled before the atomic decrement, > and we would free the wrong sub-object. But there is an acquire when...
> For an example here, we probably need acquire when nref == 1 That code is run inside a mutex so IMO not relevant.
> but it's different probably unrelated to this object lock No, it is not. The mutex is global across all the stream objects in a connection.
ping @openssl/committers for approvals
ping again @nhorman @kroeckx
Merged to the master, 3.4, 3.3 and 3.2 branches. Thank you for the reviews.
On 7.1 they get a build failure on 7.3 the build passes but with a severe warning - a missing prototype for these functions. So I believe that until they...