The base class deferred_invoke() adds work to the thread event queue and calls wake(), but that's not sufficient for CFRunLoop. We also need to signal the deferred_source via CFRunLoopSourceSignal() so the run loop knows to call its perform callback which processes the queue. Without this signal, deferred invocations posted from other threads (such as IPC I/O threads) would not be processed, causing deadlocks when waiting for sync IPC responses. |
||
|---|---|---|
| .. | ||
| Android | ||
| AppKit | ||
| cmake | ||
| Icons | ||
| Qt | ||
| .gitignore | ||
| CMakeLists.txt | ||
| Info.plist | ||