Closed kleisauke closed 3 years ago
Hello, thanks for maintaining LCMS.
As discussed in https://github.com/mm2/Little-CMS/issues/170, gmtime uses internal storage that is static, which means that it's not threadsafe. This PR ensures that threadsafe alternatives of this function are used (if available).
gmtime
This has been successfully tested on the JPEG XL test suite under ThreadSanitizer without requiring a mutex in the top-level APIs (see https://github.com/libjxl/libjxl/issues/53).
Cheers, Kleis
Looks great, thank you!
Hello, thanks for maintaining LCMS.
As discussed in https://github.com/mm2/Little-CMS/issues/170,
gmtime
uses internal storage that is static, which means that it's not threadsafe. This PR ensures that threadsafe alternatives of this function are used (if available).This has been successfully tested on the JPEG XL test suite under ThreadSanitizer without requiring a mutex in the top-level APIs (see https://github.com/libjxl/libjxl/issues/53).
Cheers, Kleis