Commit f2423568 authored by Christopher Dykes's avatar Christopher Dykes Committed by Facebook Github Bot 1

Disable the signal stack on Windows

Summary: There is no equivalent functionality for Windows, so disable it completely.

Reviewed By: andriigrynenko

Differential Revision: D3348481

fbshipit-source-id: 52a104f5a8013113f54d5b10c2f0f9b720eeb4f6
parent dfea2768
...@@ -164,9 +164,11 @@ inline void FiberManager::runReadyFiber(Fiber* fiber) { ...@@ -164,9 +164,11 @@ inline void FiberManager::runReadyFiber(Fiber* fiber) {
} }
inline bool FiberManager::loopUntilNoReady() { inline bool FiberManager::loopUntilNoReady() {
#ifndef _WIN32
if (UNLIKELY(!alternateSignalStackRegistered_)) { if (UNLIKELY(!alternateSignalStackRegistered_)) {
registerAlternateSignalStack(); registerAlternateSignalStack();
} }
#endif
// Support nested FiberManagers // Support nested FiberManagers
auto originalFiberManager = this; auto originalFiberManager = this;
......
...@@ -277,6 +277,7 @@ static AsanUnpoisonMemoryRegionFuncPtr getUnpoisonMemoryRegionFunc() { ...@@ -277,6 +277,7 @@ static AsanUnpoisonMemoryRegionFuncPtr getUnpoisonMemoryRegionFunc() {
#endif // FOLLY_SANITIZE_ADDRESS #endif // FOLLY_SANITIZE_ADDRESS
#ifndef _WIN32
namespace { namespace {
// SIGSTKSZ (8 kB on our architectures) isn't always enough for // SIGSTKSZ (8 kB on our architectures) isn't always enough for
...@@ -333,5 +334,6 @@ void FiberManager::registerAlternateSignalStack() { ...@@ -333,5 +334,6 @@ void FiberManager::registerAlternateSignalStack() {
alternateSignalStackRegistered_ = true; alternateSignalStackRegistered_ = true;
} }
#endif
} }
} }
...@@ -468,9 +468,11 @@ class FiberManager : public ::folly::Executor { ...@@ -468,9 +468,11 @@ class FiberManager : public ::folly::Executor {
#endif // FOLLY_SANITIZE_ADDRESS #endif // FOLLY_SANITIZE_ADDRESS
#ifndef _WIN32
bool alternateSignalStackRegistered_{false}; bool alternateSignalStackRegistered_{false};
void registerAlternateSignalStack(); void registerAlternateSignalStack();
#endif
}; };
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment