sapling/eden/fs
Xavier Deguillard baa6894151 store: reap importer when the importer thread dies
Summary:
On Windows (haven't verified on other platforms), ThreadLocalPtr don't appear
to be releasing resources when a thread die. This means that when the importer
thread dies, the actual importer (hg.real) would still run and use resources,
with no way of talking to it.

To fix this, let's manually reset it when the main thread function returns,
this forces the importer to be destroyed and therefore the various handles to
hg.real to be released, effectively terminating it.

I'm not sure if this is the proper fix, but delving into folly feels a bit
daunting. Keeping a TODO for later to go back to it and fix it properly in
folly.

Reviewed By: chadaustin

Differential Revision: D22012540

fbshipit-source-id: 99f994bb5128b38ccf8474031763b8a21055759a
2020-06-18 20:41:53 -07:00
..
benchharness Tidy up license headers 2019-10-11 05:28:23 -07:00
benchmarks fix warnings on macOS 2020-06-12 10:28:28 -07:00
cli update eden du backing repos printing 2020-06-15 11:57:29 -07:00
config enable py3 thrift language 2020-06-10 19:29:17 -07:00
docs check in some high-level design documentation for EdenFS 2020-05-15 18:08:47 -07:00
fuse adding ObjectFetchContext to lookup 2020-06-18 10:40:41 -07:00
inodes adding ObjectFetchContext to lookup 2020-06-18 10:40:41 -07:00
journal Remove thrift setters 2020-05-26 12:38:37 -07:00
model model: report symlink/executable as regular files on Windows 2020-05-12 08:46:35 -07:00
monitor enable log rotation in edenfs_monitor 2020-05-07 20:05:46 -07:00
notifications eden: show desktop notification for blob/tree fetch errors 2020-02-10 08:28:49 -08:00
py rename eden.thrift Python module to eden.thrift.legacy 2020-06-10 19:29:42 -07:00
rocksdb Remove dead includes in eden 2019-10-11 16:45:01 -07:00
service start to accept ObjectFetchContext to InodeBase::stat() 2020-06-18 10:40:41 -07:00
sqlite silence some msvc warnings from sqlite.{h,cpp} 2020-04-26 21:14:24 -07:00
store store: reap importer when the importer thread dies 2020-06-18 20:41:53 -07:00
takeover mount: unify EdenMount::initialize 2020-05-15 13:14:55 -07:00
telemetry switch from folly benchmark to google benchmark 2020-04-30 09:36:01 -07:00
testharness adding ObjectFetchContext to lookup 2020-06-18 10:40:41 -07:00
third-party move third-party/ into eden/fs/ 2020-05-04 11:33:12 -07:00
utils add some utf-8 helper functions 2020-06-10 19:29:51 -07:00
win win: handle moving files in and out of the repo 2020-06-10 19:29:50 -07:00
CMakeLists.txt revert: Run Eden as a Windows service 2020-05-28 09:01:03 -07:00