Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Only wait for and join joinable threads #921

Merged

Conversation

cary-ilm
Copy link
Member

Signed-off-by: Cary Phillips cary@ilm.com

Signed-off-by: Cary Phillips <cary@ilm.com>
@lgritz
Copy link
Contributor

lgritz commented Feb 10, 2021

Looks right (in the sense of doing what was discussed on the other thread), and I don't see how it can hurt, though I also don't know if it 100% fixes all threadpool problems. After it's merged, OIIO's CI will automatically pick it up for its "bleeding edge" test, and I'll see pretty quickly if the timeouts on some tests seem to disappear.

@cary-ilm cary-ilm merged commit 6fcc341 into AcademySoftwareFoundation:master Feb 10, 2021
cary-ilm added a commit to cary-ilm/openexr that referenced this pull request Feb 10, 2021
cary-ilm added a commit that referenced this pull request Feb 12, 2021
* Revert "Disable OPENEXR_IMF_HAVE_GCC_INLINE_ASM_AVX when building on arm64 macOS"

This reverts commit 67053eb.

Signed-off-by: Harry Mallon <hjmallon@gmail.com>

* Fix Apple Universal 2 (arm64/x86_64) builds

* In these types of builds we want arm64 and x86_64 (with AVX optimisations).
  However the way cmake works (with `CMAKE_OSX_ARCHITECTURES="arm64;x86_64"`
  means that we share one OpenEXRConfigInternal.h between both builds. So
  we have to have OPENEXR_IMF_HAVE_GCC_INLINE_ASM_AVX mean "AVX GCC asm is
  available if platform is x86", rather than "AVX GCC asm is available".
  Then we decide on AVX optimisations based on that #define and also the
  platform defines.

Signed-off-by: Harry Mallon <hjmallon@gmail.com>

* Include <limits> where required by newer compilers (#893)

* Include <limits> where required by newer compilers

Signed-off-by: Cary Phillips <cary@ilm.com>

* Removed redundant #include <limits>

Signed-off-by: Cary Phillips <cary@ilm.com>

* add buffer size validation to FastHuf decode

Signed-off-by: Peter Hillman <peterh@wetafx.co.nz>

* prevent overflow in RgbaFile cachePadding

Signed-off-by: Peter Hillman <peterh@wetafx.co.nz>

* Use size_t for DWA buffersize calculation (#901)

* Use size_t for DWA buffersize calculation

Signed-off-by: Peter Hillman <peterh@wetafx.co.nz>

* use Int64 instead of size_t for buffersize calculations

Signed-off-by: Peter Hillman <peterh@wetafx.co.nz>
Signed-off-by: Cary Phillips <cary@ilm.com>

* prevent overflows by using Int64 for all vars in DWA initialize (#903)

Signed-off-by: Peter Hillman <peterh@wetafx.co.nz>
Signed-off-by: Cary Phillips <cary@ilm.com>

* update tileoffset sanitycheck to handle ripmaps  (#910)

* update tileoffset sanitycheck to handle ripmaps

Signed-off-by: Peter Hillman <peterh@wetafx.co.nz>

* slight reorganization

Signed-off-by: Peter Hillman <peterh@wetafx.co.nz>

* slight reorganization

Signed-off-by: Peter Hillman <peterh@wetafx.co.nz>

* remove extra if statement from validateStreamSize

Signed-off-by: Peter Hillman <peterh@wetafx.co.nz>
Signed-off-by: Cary Phillips <cary@ilm.com>

* additional verification of DWA data sizes (#914)

Signed-off-by: Peter Hillman <peterh@wetafx.co.nz>

* Release notes for v2.5.5

Signed-off-by: Cary Phillips <cary@ilm.com>

* fix merge of ImfTiledInputFile.cpp

Signed-off-by: Cary Phillips <cary@ilm.com>

* Bump version for 2.5.5

Signed-off-by: Cary Phillips <cary@ilm.com>

* Only wait for and join joinable threads (#921)

Signed-off-by: Cary Phillips <cary@ilm.com>

* Fixed botched merge or IlmThread.cpp/IlmThreadPool.cpp

Signed-off-by: Cary Phillips <cary@ilm.com>

* Fix 2.5.5 release date

Signed-off-by: Cary Phillips <cary@ilm.com>

Co-authored-by: Harry Mallon <hjmallon@gmail.com>
Co-authored-by: Peter Hillman <peterh@wetafx.co.nz>
@cary-ilm cary-ilm deleted the threadpool-deadlock-fix branch May 18, 2021 03:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants