mirror of
https://github.com/fish-shell/fish-shell
synced 2024-12-26 12:53:13 +00:00
Replace the process-exit event with generic "fish_exit" event
Turns out the process-exit is only ever used in conjunction with `%self`. Make that explicit by just adding a new "fish_exit" event, and deprecate the general process-exit machinery. Fixes #4700.
This commit is contained in:
parent
9444c65ee8
commit
b67a614d86
2 changed files with 7 additions and 0 deletions
|
@ -437,7 +437,10 @@ int main(int argc, char **argv) {
|
||||||
|
|
||||||
int exit_status = res ? STATUS_CMD_UNKNOWN : proc_get_last_status();
|
int exit_status = res ? STATUS_CMD_UNKNOWN : proc_get_last_status();
|
||||||
|
|
||||||
|
// TODO: The generic process-exit event is useless and unused.
|
||||||
|
// Remove this in future.
|
||||||
proc_fire_event(L"PROCESS_EXIT", EVENT_EXIT, getpid(), exit_status);
|
proc_fire_event(L"PROCESS_EXIT", EVENT_EXIT, getpid(), exit_status);
|
||||||
|
event_fire_generic(L"fish_exit");
|
||||||
|
|
||||||
restore_term_mode();
|
restore_term_mode();
|
||||||
restore_term_foreground_process_group();
|
restore_term_foreground_process_group();
|
||||||
|
|
|
@ -537,6 +537,8 @@ static int process_clean_after_marking(bool allow_interactive) {
|
||||||
|
|
||||||
s = p->status;
|
s = p->status;
|
||||||
|
|
||||||
|
// TODO: The generic process-exit event is useless and unused.
|
||||||
|
// Remove this in future.
|
||||||
proc_fire_event(L"PROCESS_EXIT", EVENT_EXIT, p->pid,
|
proc_fire_event(L"PROCESS_EXIT", EVENT_EXIT, p->pid,
|
||||||
(WIFSIGNALED(s) ? -1 : WEXITSTATUS(s)));
|
(WIFSIGNALED(s) ? -1 : WEXITSTATUS(s)));
|
||||||
|
|
||||||
|
@ -601,6 +603,8 @@ static int process_clean_after_marking(bool allow_interactive) {
|
||||||
format_job_info(j, JOB_ENDED);
|
format_job_info(j, JOB_ENDED);
|
||||||
found = 1;
|
found = 1;
|
||||||
}
|
}
|
||||||
|
// TODO: The generic process-exit event is useless and unused.
|
||||||
|
// Remove this in future.
|
||||||
// Don't fire the exit-event for jobs with pgid -2.
|
// Don't fire the exit-event for jobs with pgid -2.
|
||||||
// That's our "sentinel" pgid, for jobs that don't (yet) have a pgid,
|
// That's our "sentinel" pgid, for jobs that don't (yet) have a pgid,
|
||||||
// or jobs that consist entirely of builtins (and hence don't have a process).
|
// or jobs that consist entirely of builtins (and hence don't have a process).
|
||||||
|
|
Loading…
Reference in a new issue