mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-13 00:04:19 +00:00
Previously, the following sequence of events was possible:
Background thread Main thread
------------------------------------------------------------------------
Lock::tryAcquire()
Run to blockingMessage->post()
BlockingMessage::messageCallback()
Run to abortWait.set (1)
Lock::tryAcquire()
Exit through return true
Lock::~Lock()
Destroy memory used for Lock
BlockingMessage::messageCallback()
Execute lockedEvent.signal()
Memory already freed, crash
|
||
|---|---|---|
| .. | ||
| juce_ApplicationBase.cpp | ||
| juce_ApplicationBase.h | ||
| juce_CallbackMessage.h | ||
| juce_DeletedAtShutdown.cpp | ||
| juce_DeletedAtShutdown.h | ||
| juce_Initialisation.h | ||
| juce_Message.h | ||
| juce_MessageListener.cpp | ||
| juce_MessageListener.h | ||
| juce_MessageManager.cpp | ||
| juce_MessageManager.h | ||
| juce_MountedVolumeListChangeDetector.h | ||
| juce_NotificationType.h | ||