GrandOrgue / grandorgue

GrandOrgue software
Other
150 stars 39 forks source link

Fixed GO crashing due to race condition when closing an organ #1717

Closed nanoufo closed 7 months ago

nanoufo commented 8 months ago

Fixes #1678. GOSoundThreads could run work items that were deleted concurrently. This PR ensures that GOSoundThreads don't hold any work items when GOSound::AssignOrganFile() is deleting them.

oleg68 commented 8 months ago

@nanoufo

Please add an entry to CHANGELOG.md:

- Fixed crash on closing an organ https://github.com/GrandOrgue/grandorgue/issues/1678
oleg68 commented 8 months ago

@willeke1234 could you test tne new fix?

willeke1234 commented 7 months ago

@oleg68 This fix looks ok. GO reloaded 30+ times without crashing.

oleg68 commented 7 months ago

@oleg68 This fix looks ok. GO reloaded 30+ times without crashing.

This fix has been changed after your first test. Have you tested the last version?

willeke1234 commented 7 months ago

@oleg I think so. I downloaded the source code from https://github.com/nanoufo/grandorgue after you asked me to test. If this isn't the last version then where and when can I find the version to test?

oleg68 commented 7 months ago

Yes, it is the last version.

rousseldenis commented 7 months ago

Very nice! @nanoufo thanks for this. Closing GO has never been so smooth!