| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
Stop printing anything for jobs terminated via ^C.
Don't list the job number if it's the only job.
Fixes #1119
|
|
|
|
|
| |
This re-introduces 3fe10692199fc20a5f4b6ac5057cce43babc5f36
with some associated fixes to address #1768.
|
|
|
|
|
|
| |
This reverts commit 3fe10692199fc20a5f4b6ac5057cce43babc5f36.
In light of #1768
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prior to this fix, a child process may be reaped in one of two ways:
1. By a call to waitpid() within job_continue
2. By a call to waitpid() within the SIGCHLD signal handler
Only the second call was with the WNOHANG option. Thus if the signal
handler fired first, and then the waitpid call fired, we could get a
deadlock because we'd end up waiting on a long-running process. I have
not been able to reproduce this on fish 1.x, though it seems like it
ought to reproduce there too.
This fix migrates the waitpid() call out of the signal handler; the
second class of calls moves to job_reap. This eliminates the possibility
of a race, because we check for job completion before calling waitpid,
and there is no longer the possibility of the job being marked as
complete asynchronously. It also results in a massive conceptual
simplification, since the signal handler is now very simple and easy to
reason about (no more walking jobs lists, etc).
This partially fixes a bug reported in #1273
|
|
|
|
| |
These flags were used by the old parser, but not by the new one.
|
|
|
|
| |
It's a relic of the old parser, and isn't used anymore.
|
| |
|
| |
|
|
|
|
| |
parser
|
|
|
|
| |
implementation.
|
| |
|
|\
| |
| |
| |
| | |
Conflicts:
complete.cpp
|
| | |
|
|\|
| |
| |
| |
| |
| | |
Conflicts:
configure.ac
exec.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
redirections for a process were flattened into a big list associated with the job, so there was no way to tell which redirections applied to each process. Each process therefore got all the redirections associated with the job. See https://github.com/fish-shell/fish-shell/issues/877 for how this could manifest.
With this change, jobs only track their block-level redirections. Process level redirections are correctly associated with the process, and at exec time we stitch them together (block, pipe, and process redirects).
This fixes the weird issues where redirects bleed across pipelines (like #877), and also allows us to play with the order in which redirections are applied, since the final list is constructed right before it's needed. This lets us put pipes after block level redirections but before process level redirections, so that a 2>&1-type redirection gets picked up after the pipe, i.e. it should fix https://github.com/fish-shell/fish-shell/issues/110
This is a significant change. The tests all pass. Cross your fingers.
|
| |
| |
| |
| | |
https://github.com/fish-shell/fish-shell/issues/110
|
|/ |
|
|
|
|
| |
Fixes https://github.com/fish-shell/fish-shell/issues/876 , and coincidentally also https://github.com/fish-shell/fish-shell/issues/848
|
| |
|
|
|
|
| |
file descriptors
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
because the error handling is too difficult
Fix exec to correctly handle the case where a pid could not be created due to posix_spawn failing
Should fix https://github.com/fish-shell/fish-shell/issues/364
|
| |
|
|
|
|
|
| |
Rewrite IO chains to be a vector of pointers, instead of a linked list
Removed io_transmogrify
|
| |
|
|
|
|
| |
Cleanup of non-wcstring version of path_get_path
|
|
|
|
|
| |
Fixes issue where you couldn't control-C out of a loop (https://github.com/ridiculousfish/fishfish/issues/13)
Also stops doing memory allocation in the signal handler (oops) https://github.com/ridiculousfish/fishfish/issues/27
|
|
|
|
| |
Ensure we don't try to do a universal barrier off of the main thread
|
|
|
|
| |
fork()
|
| |
|
| |
|
|
|
|
| |
null_terminated_array_t class.
|
|
|
|
| |
a per-parser job list
|
| |
|
|
|
|
| |
could never succeed.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This is done by `sed -i -e 's/[ \t]*$//' *.[c,h]`, which should not
introduce any functionality change.
|
|
|
|
| |
darcs-hash:20090221164656-ac50b-7bcbf6cb0bb8384560fbf9bf1059480cb4089def.gz
|
|
|
|
| |
darcs-hash:20080109012338-75c98-745297861fd11ec82e062a79fe1d15c9084342f1.gz
|
|
|
|
|
|
| |
error as well as make sure that keyboard shortcuts don't change the status
darcs-hash:20080108193145-75c98-56c8aa2dd081af643d206820aa36bf3b6e49e0f2.gz
|