make not blocking signals the default

This is the next step in determining whether we can disable blocking
signals without a good reason to do so. This makes not blocking signals
the default behavior. If someone finds a problem they can add this to
their ~/config/fish/config.fish file:

set FISH_NO_SIGNAL_BLOCK 0

Alternatively set that env var before starting fish. I won't be surprised
if people report problems. Till now we have relied on people opting in
to this behavior to tell us whether it causes problems. This makes the
experimental behavior the default that has to be opted out of. This will
give is a lot more confidence this change doesn't cause major problems
prior to the next minor release.
This commit is contained in:
Kurtis Rader 2017-02-22 21:53:49 -08:00
parent 7d65141137
commit e30f3fee88
2 changed files with 2 additions and 2 deletions

View file

@ -408,7 +408,7 @@ int main(int argc, char **argv) {
// TODO: Remove this once we're confident that not blocking/unblocking every signal around
// some critical sections is no longer necessary.
env_var_t fish_no_signal_block = env_get_string(L"FISH_NO_SIGNAL_BLOCK");
if (!fish_no_signal_block.missing()) ignore_signal_block = true;
if (!fish_no_signal_block.missing_or_empty() && !from_string<bool>(fish_no_signal_block)) ignore_signal_block = false;
// Stomp the exit status of any initialization commands (issue #635).
proc_set_last_status(STATUS_BUILTIN_OK);

View file

@ -17,7 +17,7 @@
#include "wutil.h" // IWYU pragma: keep
// This is a temporary var while we explore whether signal_block() and friends is needed.
bool ignore_signal_block = false;
bool ignore_signal_block = true;
/// Struct describing an entry for the lookup table used to convert between signal names and signal
/// ids, etc.