diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/lib/support/fork.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/core/lib/support/fork.cc b/src/core/lib/support/fork.cc index dc291c4080..4e78f9df1d 100644 --- a/src/core/lib/support/fork.cc +++ b/src/core/lib/support/fork.cc @@ -38,18 +38,25 @@ void grpc_fork_support_init() { fork_support_enabled = 1; #else fork_support_enabled = 0; +#endif char* env = gpr_getenv("GRPC_ENABLE_FORK_SUPPORT"); if (env != nullptr) { static const char* truthy[] = {"yes", "Yes", "YES", "true", "True", "TRUE", "1"}; + static const char* falsey[] = {"no", "No", "NO", "false", + "False", "FALSE", "0"}; for (size_t i = 0; i < GPR_ARRAY_SIZE(truthy); i++) { if (0 == strcmp(env, truthy[i])) { fork_support_enabled = 1; } } + for (size_t i = 0; i < GPR_ARRAY_SIZE(falsey); i++) { + if (0 == strcmp(env, falsey[i])) { + fork_support_enabled = 0; + } + } gpr_free(env); } -#endif if (override_fork_support_enabled != -1) { fork_support_enabled = override_fork_support_enabled; } |