sapling/eden/fs/fuse/test
Adam Simpkins fdecf19d91 update FuseChannel to signal the session complete future immediately
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
2018-03-15 13:48:45 -07:00
..
BufVecTest.cpp Misc cleanup of cpp files in eden/fs/fuse/ 2018-01-17 13:41:19 -08:00
FuseChannelTest.cpp update FuseChannel to signal the session complete future immediately 2018-03-15 13:48:45 -07:00
main.cpp make sure we ignore SIGPIPE in unit tests 2018-03-12 11:46:20 -07:00