diff options
author | mrambacher <mrambach@gmail.com> | 2022-05-17 09:39:22 -0700 |
---|---|---|
committer | Facebook GitHub Bot <facebook-github-bot@users.noreply.github.com> | 2022-05-17 09:39:22 -0700 |
commit | b11ff347b499c972f57f13cacc6209053dc19f61 (patch) | |
tree | 93c592aee7f9870ffe6be8debb99005c4aa66b6e /port/win | |
parent | 3f263ef53695d8add505bd9a7032532059a1faef (diff) |
Use STATIC_AVOID_DESTRUCTION for static objects with non-trivial destructors (#9958)
Summary:
Changed the static objects that had non-trivial destructors to use the STATIC_AVOID_DESTRUCTION construct.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/9958
Reviewed By: pdillinger
Differential Revision: D36442982
Pulled By: mrambacher
fbshipit-source-id: 029d47b1374d30d198bfede369a4c0ae7a4eb519
Diffstat (limited to 'port/win')
-rw-r--r-- | port/win/env_win.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/port/win/env_win.cc b/port/win/env_win.cc index 7ee58a85b..c5038bbfc 100644 --- a/port/win/env_win.cc +++ b/port/win/env_win.cc @@ -28,6 +28,7 @@ #include "monitoring/iostats_context_imp.h" #include "monitoring/thread_status_updater.h" #include "monitoring/thread_status_util.h" +#include "port/lang.h" #include "port/port.h" #include "port/port_dirent.h" #include "port/win/io_win.h" @@ -192,8 +193,8 @@ WinFileSystem::WinFileSystem(const std::shared_ptr<SystemClock>& clock) } const std::shared_ptr<WinFileSystem>& WinFileSystem::Default() { - static std::shared_ptr<WinFileSystem> fs = - std::make_shared<WinFileSystem>(WinClock::Default()); + STATIC_AVOID_DESTRUCTION(std::shared_ptr<WinFileSystem>, fs) + (std::make_shared<WinFileSystem>(WinClock::Default())); return fs; } @@ -1410,8 +1411,8 @@ std::shared_ptr<FileSystem> FileSystem::Default() { } const std::shared_ptr<SystemClock>& SystemClock::Default() { - static std::shared_ptr<SystemClock> clock = - std::make_shared<port::WinClock>(); + STATIC_AVOID_DESTRUCTION(std::shared_ptr<SystemClock>, clock) + (std::make_shared<port::WinClock>()); return clock; } } // namespace ROCKSDB_NAMESPACE |