mirror of
https://github.com/facebook/sapling.git
synced 2024-10-08 07:49:11 +03:00
f0587420a2
Summary: Some test cases are crashing once in a whiled due to a race condition on lock over overlay directory. when a mount point is unmounted, `EdenServer::mountFinished` called on `umount` where destruction of `EdenMount` object for the mount point happens. When a remount is called before the destruction of `EdenMount` a race condition is occuring on the lock of overlay directory as the undestructed `EdenMount` still holds the lock on overlay and the newly created `EdenMount` tries to grab a lock on overly. Made the `EdenServer::unmount` asynchronous which waits for a promise that is set in `EdenServer::mountFinished`. Reviewed By: simpkins Differential Revision: D5515740 fbshipit-source-id: 5cbfddf13fe00c2cb1b63a6be6353e9b84fbd569 |
||
---|---|---|
.. | ||
oss | ||
__init__.py | ||
client.py | ||
DEFS | ||
eden.thrift | ||
EdenError.cpp | ||
EdenError.h | ||
EdenServer.cpp | ||
EdenServer.h | ||
EdenServiceHandler.cpp | ||
EdenServiceHandler.h | ||
GlobNode.cpp | ||
GlobNode.h | ||
main.cpp | ||
PrettyPrinters.cpp | ||
PrettyPrinters.h | ||
streamingeden.thrift | ||
StreamingSubscriber.cpp | ||
StreamingSubscriber.h | ||
TARGETS | ||
ThriftUtil.h |