| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Lifetime should be guaranteed, since each MultibyteCodecObjects owns a reference the cjk codec module that owns the memory of the MultibyteCodec struct.
|
This approach exploits the dependency introduced in gh-103589; we know for sure that the _codec* extension modules will outlive _multibytecodec. This means we can store the cjk codec module state safely in the codec struct and modify the various codec handlers to accept the codec struct (iso. void *config). Then we add custom cjk module state where needed, and conveniently fetch it from the codec struct. (Quick and dirty explanation; see the code if what I wrote does not make sense 😎) |
Sorry, something went wrong.
|
🤖 New build scheduled with the buildbot fleet by @erlend-aasland for commit ef983c4 🤖 If you want to schedule another build, you need to add the 🔨 test-with-refleak-buildbots label again. |
Sorry, something went wrong.
|
BTW, I removed the initialized guards. I'm pretty sure we can do that, but I haven't verified it yet. |
Sorry, something went wrong.
|
Also, we can split out cb2c9e7 as a separate PR. That may be beneficial regarding to future bisects; it will also make this PR easier to review. Similarly, f6ed5df can be split up to do the arg spec changes first, and then move stuff to module state afterwards. |
Sorry, something went wrong.
|
@vstinner, you want to take a look? :) |
Sorry, something went wrong.
|
@erlend-aasland I will take a look by tomorrow |
Sorry, something went wrong.
|
(Pulling in main to get the latest ref. leak fixes by Jelle) |
Sorry, something went wrong.
|
🤖 New build scheduled with the buildbot fleet by @erlend-aasland for commit dec79a7 🤖 If you want to schedule another build, you need to add the 🔨 test-with-refleak-buildbots label again. |
Sorry, something went wrong.
There was a problem hiding this comment.
LGTM, This is quite a complicated but nice approach. But nothing can be better than this.
Thanks for the hard work!
Sorry, something went wrong.
|
Thanks for the review, Dong-hee! Yes, it is complicated, but as shown in my competing PRs, other approaches are even more complicated. |
Sorry, something went wrong.
Thanks, Victor :) This was a tricky one! |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.