diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-07-31 00:51:18 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-07-31 00:51:18 +0200 |
commit | e2e42e3b6f2b317f814aff2858a35a0993c94724 (patch) | |
tree | 97e4bfa3d83baaf9c79c34769b22ed783221c058 /common/listener.cpp | |
parent | 2b1542d7fee7e9ef14592e88c8a974ed4ea2eacf (diff) | |
download | sink-e2e42e3b6f2b317f814aff2858a35a0993c94724.tar.gz sink-e2e42e3b6f2b317f814aff2858a35a0993c94724.zip |
Fixed possible race conditions.
* Ensure we always create the thread-local event loop before any objects
in the thread are created, and guarantee the done handler is
immediately registered before the query can execute.
* Call the callback on emitter destruction in the worker thread, where
the eventloop lives, instead of the main thread.
With this I can no longer reproduce any deadlocks or memory corruptions
that I used to get occasionally before.
Diffstat (limited to 'common/listener.cpp')
0 files changed, 0 insertions, 0 deletions