use previous Executor after delayed
Summary: When `delayed` is called on the Future, the underlying `futures::sleep` call runs on a timer thread, and the resulting callback is called on the same thread. Therefore, in the following sequence: f.via(&someExecutor).within(one_ms).then([&]() { /* [1] */ }) The code in [1] is not running in someExecutor. This can cause confusion by users of the library who expect the initial `via` to be sticky. This change returns to the prior `Executor` after `delayed` is finished. Reviewed By: yfeldblum Differential Revision: D3979179 fbshipit-source-id: 936ff5626e8ac377ffb15babf573349466984e3a
Showing
Please register or sign in to comment