mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 23:38:50 +03:00
75bd0c08ea
Summary: With the subsequent diff that enables multiple concurrent hg importers, I was seeing this deadlock during rebase; each of the worker threads was being blocked until it saturated the various thread pools and locked up the server. This removes the blocking call and replaces it with a SharedPromise to allow multiple callers to wait for the load. Note that this changes the semantics of ensureDataLoaded slightly: previously the blob load was synchronous while the write lock was held. Now we release the write lock until the load completes. I've added some post-condition checks to validate that we don't break any state. I believe that our usage is such that we don't do anything that might mess things up. Am I missing anything? Reviewed By: simpkins Differential Revision: D6264900 fbshipit-source-id: 4aa2870d95f0f0ec48d87299978cb87af99e3969 |
||
---|---|---|
.. | ||
cli | ||
docs | ||
fs | ||
hooks | ||
integration | ||
py | ||
DEFS |