mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +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
|
||
|---|---|---|
| .. | ||
| broadcasters | ||
| interprocess | ||
| messages | ||
| native | ||
| timers | ||
| juce_events.cpp | ||
| juce_events.h | ||
| juce_events.mm | ||