#9920: BSynth upgrade -----------------------------+------------------------- Reporter: Pete | Owner: korli Type: enhancement | Status: new Priority: normal | Milestone: R1 Component: Kits/Midi Kit | Version: R1/alpha4.1 Resolution: | Keywords: Blocked By: | Blocking: Has a Patch: 1 | Platform: All -----------------------------+------------------------- Comment (by Pete): Replying to [comment:28 jackburton]: > Replying to [comment:27 Pete]: > > I think your code is crashing due to a race condition. GetAudio can get invoked just when fMonitor has been deleted. > > If this kind of race condition exists, I guess we should use locking to protect these variables. > No, locking shouldn't be needed here. GetAudio won't try to read fMonitor until it has been created, and once it has it won't be deleted until the synth has stopped. It doesn't matter what data is there, as long as there's something. BTW, could you [just for me...(:-)] add a B_SYSTEM_SETTINGS_DIRECTORY check after the B_USER_SETTINGS_DIRECTORY one, and also check for synth.sf2 in B_SYNTH_DIRECTORY just before finally devolving to big_synth.sy. As far as I can see, though, the only old BeOS app that might be able to use big_synth.sy in Haiku is MidiSynth1.7. However, it does things "cleverly", looking in B_SYNTH_DIRECTORY for a list of whatever's there, so it doesn't need it. Everything else I've found that might want it can't find it in Haiku anyway (hard-coded probably, but I don't have the sources). So I think it could be removed now without anyone being bothered. -- Ticket URL: <https://dev.haiku-os.org/ticket/9920#comment:29> Haiku <https://dev.haiku-os.org> Haiku - the operating system.