mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 08:47:12 +03:00
068ff196bd
Summary: This diff turns the return type of `BackingStore::getBlob` from `folly::Future` into `folly::SemiFuture` to prevent executor leaks. This also enable us to remove the need of holding `serverThreadPool` from backing stores. ---- **Changes** * `ObjectStore` now needs to hold a `folly::Executor::KeepAlive` that is used to turn `SemiFuture`s it gets from backing stores into `Future`. * Signature changes of the implementations of `BackingStore` class. * For tests, I chose to use `QueuedImmediateExecutor` in place of `UnboundedQueueExecutor` as it will basically execute tasks inline. I'm concerned introducing thread pool executor in tests may turn tests flaky. Reviewed By: wez Differential Revision: D18669664 fbshipit-source-id: 0cae89f365dcf8b345b49d64469a530cf25d4ac5 |
||
---|---|---|
.. | ||
FakeBackingStoreTest.cpp | ||
FakeObjectStoreTest.cpp | ||
TempFileTest.cpp | ||
TestMountTest.cpp | ||
TestServerTest.cpp | ||
TestUtilTest.cpp |