mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 16:31:02 +03:00
fdecf19d91
Summary: This changes FuseChannel to fulfill the session complete future immediately in the thread where it finishes. This may occur inside a FUSE worker thread. It is now up to the caller to use `via()` if they want their callback to run in a separate thread. This simplifies the FuseChannel code and also addresses a crash that occurs in the unit tests sometimes: If the FuseChannel destructor is invoked without explicitly invoking the FuseChannel, it would schedule the session complete promise to be fulfilled in a separate EventBase thread. However, the promise may then have already been destroyed by the time it can run in the EventBase thread. There are still additional synchronization issues to fix in the FuseChannel tests, but this resolves one problem. Reviewed By: chadaustin Differential Revision: D7282001 fbshipit-source-id: be64d3ef6a0e664ed7a2cf93a549acc140184095 |
||
---|---|---|
.. | ||
BufVecTest.cpp | ||
FuseChannelTest.cpp | ||
main.cpp |