From 8aca33b21f73553067949349fb40273a850e867e Mon Sep 17 00:00:00 2001 From: Kurtis Rader Date: Sun, 13 Aug 2017 15:23:44 -0700 Subject: [PATCH] Revert "fixes to job control changes" This reverts commit 083224d1c0076b43e9dbb080bc501ee275a9619d. It was meant for the major branch. --- src/exec.cpp | 14 +++++++------- src/proc.cpp | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/exec.cpp b/src/exec.cpp index 0b18bb634..18b96ffb0 100644 --- a/src/exec.cpp +++ b/src/exec.cpp @@ -374,15 +374,15 @@ void internal_exec(job_t *j, const io_chain_t &&all_ios) { // really make sense, so I'm not trying to fix it here. if (!setup_child_process(0, all_ios)) { // Decrement SHLVL as we're removing ourselves from the shell "stack". - const env_var_t shlvl_var = env_get(L"SHLVL", ENV_GLOBAL | ENV_EXPORT); - wcstring shlvl_str = L"0"; - if (!shlvl_var.missing()) { - long shlvl = fish_wcstol(shlvl_var.c_str()); - if (!errno && shlvl > 0) { - shlvl_str = to_string(shlvl - 1); + const env_var_t shlvl_str = env_get_string(L"SHLVL", ENV_GLOBAL | ENV_EXPORT); + wcstring nshlvl_str = L"0"; + if (!shlvl_str.missing()) { + long shlvl_i = fish_wcstol(shlvl_str.c_str()); + if (!errno && shlvl_i > 0) { + nshlvl_str = to_string(shlvl_i - 1); } } - env_set(L"SHLVL", shlvl_str.c_str(), ENV_GLOBAL | ENV_EXPORT); + env_set(L"SHLVL", nshlvl_str.c_str(), ENV_GLOBAL | ENV_EXPORT); // launch_process _never_ returns. launch_process_nofork(j->processes.front().get()); diff --git a/src/proc.cpp b/src/proc.cpp index b0ebdf893..07e00b618 100644 --- a/src/proc.cpp +++ b/src/proc.cpp @@ -845,7 +845,7 @@ bool terminal_give_to_job(job_t *j, int cont) { if (errno == ENOTTY) redirect_tty_output(); debug(1, _(L"Could not send job %d ('%ls') with pgid %d to foreground"), j->job_id, j->command_wcstr(), j->pgid); wperror(L"tcsetpgrp"); - signal_unblock(); + signal_unblock(true); return false; }