зеркало из https://github.com/mozilla/gecko-dev.git
548809dc68
Get rid of having users dispatch control runnables. It was error prone and required too much reasoning. It was also possible to end up in a state where callers would dispatch a WorkerRunnable, which would succeed, so they would not dispatch a WorkerControlRunnable. Then the worker would stop Running, canceling and releasing the runnable leading to releasing the proxy in an unclean state. Instead, we AddRef() and add the feature and remove the feature and Release() on Notify(). If callers successfully run a WorkerRunnable they clean the proxy. If not, the proxy stays alive until the worker switches to Canceling state. --HG-- extra : commitid : BnnijSibVYe extra : rebase_source : 15f6810dfbd0c88a983196de401c55e782b1d1d8 |
||
---|---|---|
.. | ||
tests | ||
AbortablePromise.cpp | ||
AbortablePromise.h | ||
Promise.cpp | ||
Promise.h | ||
PromiseCallback.cpp | ||
PromiseCallback.h | ||
PromiseDebugging.cpp | ||
PromiseDebugging.h | ||
PromiseNativeAbortCallback.h | ||
PromiseNativeHandler.h | ||
PromiseWorkerProxy.h | ||
moz.build |