Disable the signal stack on Windows
authorChristopher Dykes <cdykes@fb.com>
Thu, 26 May 2016 19:25:43 +0000 (12:25 -0700)
committerFacebook Github Bot 1 <facebook-github-bot-1-bot@fb.com>
Thu, 26 May 2016 19:38:33 +0000 (12:38 -0700)
Summary: There is no equivalent functionality for Windows, so disable it completely.

Reviewed By: andriigrynenko

Differential Revision: D3348481

fbshipit-source-id: 52a104f5a8013113f54d5b10c2f0f9b720eeb4f6

folly/fibers/FiberManager-inl.h
folly/fibers/FiberManager.cpp
folly/fibers/FiberManager.h

index 003da1bdb1186ff0adc95725c082a2e0874a6f4b..3fe5b5f50105b8dd5d1d97c394bdb41be0cc7661 100644 (file)
@@ -164,9 +164,11 @@ inline void FiberManager::runReadyFiber(Fiber* fiber) {
 }
 
 inline bool FiberManager::loopUntilNoReady() {
+#ifndef _WIN32
   if (UNLIKELY(!alternateSignalStackRegistered_)) {
     registerAlternateSignalStack();
   }
+#endif
 
   // Support nested FiberManagers
   auto originalFiberManager = this;
index 727b7d7fec3e7afdca7d611842757072f1b6753b..5c8373d07461355f4250038f9b420c6ac5f412c4 100644 (file)
@@ -277,6 +277,7 @@ static AsanUnpoisonMemoryRegionFuncPtr getUnpoisonMemoryRegionFunc() {
 
 #endif // FOLLY_SANITIZE_ADDRESS
 
+#ifndef _WIN32
 namespace {
 
 // SIGSTKSZ (8 kB on our architectures) isn't always enough for
@@ -333,5 +334,6 @@ void FiberManager::registerAlternateSignalStack() {
 
   alternateSignalStackRegistered_ = true;
 }
+#endif
 }
 }
index a2474b62b1e4398b5f1ca2e2eba5e2ed0a019697..117c26cbb9f6d0ac20a54792c7f55cf49623f1e1 100644 (file)
@@ -468,9 +468,11 @@ class FiberManager : public ::folly::Executor {
 
 #endif // FOLLY_SANITIZE_ADDRESS
 
+#ifndef _WIN32
   bool alternateSignalStackRegistered_{false};
 
   void registerAlternateSignalStack();
+#endif
 };
 
 /**