aboutsummaryrefslogtreecommitdiffhomepage
path: root/proc.h
Commit message (Collapse)AuthorAge
* Clean up some job status messagesGravatar ridiculousfish2014-11-03
| | | | | | | Stop printing anything for jobs terminated via ^C. Don't list the job number if it's the only job. Fixes #1119
* Reintroduce "Stop reaping children from SIGCHLD handler"Gravatar ridiculousfish2014-10-25
| | | | | This re-introduces 3fe10692199fc20a5f4b6ac5057cce43babc5f36 with some associated fixes to address #1768.
* Revert "Stop reaping children from SIGCHLD signal handler"Gravatar ridiculousfish2014-10-21
| | | | | | This reverts commit 3fe10692199fc20a5f4b6ac5057cce43babc5f36. In light of #1768
* Stop reaping children from SIGCHLD signal handlerGravatar ridiculousfish2014-10-20
| | | | | | | | | | | | | | | | | | | | | | 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
* Remove some obsolete job flagsGravatar Kevin Ballard2014-10-13
| | | | These flags were used by the old parser, but not by the new one.
* Expunge INTERNAL_BLOCK from the codebaseGravatar Kevin Ballard2014-09-30
| | | | It's a relic of the old parser, and isn't used anymore.
* Remove INTERNAL_BUFFER, which was only used by fish_pagerGravatar ridiculousfish2014-09-22
|
* Update style and formatting to conform to fish style guide.Gravatar ridiculousfish2014-01-15
|
* Hook up for statements, if statements, and function definition in newGravatar ridiculousfish2013-12-27
| | | | parser
* New ideas about how to use new parser for execution. Beginnings ofGravatar ridiculousfish2013-12-26
| | | | implementation.
* Initial flailing around trying to adopt new parser for actual executionGravatar ridiculousfish2013-12-20
|
* Merge branch 'master' into astGravatar ridiculousfish2013-10-27
|\ | | | | | | | | Conflicts: complete.cpp
| * Fix formattingGravatar ridiculousfish2013-10-26
| |
* | Merge branch 'master' into ast_no_templatesGravatar ridiculousfish2013-10-06
|\| | | | | | | | | | | Conflicts: configure.ac exec.cpp
| * Big fat refactoring of how redirections work. In fish 1.x and 2.0.0, the ↵Gravatar ridiculousfish2013-08-19
| | | | | | | | | | | | | | | | | | | | 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.
| * Initial work towards various IO cleanups with an eye to fixing ↵Gravatar ridiculousfish2013-08-19
| | | | | | | | https://github.com/fish-shell/fish-shell/issues/110
* | More work on the AST. block statements worked out a bit more.Gravatar ridiculousfish2013-06-24
|/
* Mark jobs as completed when all processes have finished, not just the last one.Gravatar ridiculousfish2013-06-16
| | | | Fixes https://github.com/fish-shell/fish-shell/issues/876 , and coincidentally also https://github.com/fish-shell/fish-shell/issues/848
* Fix comments in proc.h (spelling, wording, format)Gravatar Cheer Xiao2013-02-03
|
* Initial set of changes working to make fish robust against running out of ↵Gravatar ridiculousfish2013-01-30
| | | | file descriptors
* Fix spelling: s/circut/circuit/gGravatar Cheer Xiao2013-01-24
|
* Apply new indentation, brace, and whitespace styleGravatar ridiculousfish2012-11-18
|
* Remove trailing whitespaces and change tabs to spacesGravatar Łukasz Niemier2012-11-18
|
* Don't use posix_spawn when file redirections are involved (except /dev/null) ↵Gravatar ridiculousfish2012-10-29
| | | | | | | 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
* First stab at elseif implementationGravatar ridiculousfish2012-09-01
|
* Adopt posix_spawn (!)Gravatar ridiculousfish2012-08-15
| | | | | Rewrite IO chains to be a vector of pointers, instead of a linked list Removed io_transmogrify
* Additional warnings cleanup, effective C++ violations, dead code removalGravatar ridiculousfish2012-08-05
|
* Renamed env_vars to env_vars_snapshot_tGravatar ridiculousfish2012-07-20
| | | | Cleanup of non-wcstring version of path_get_path
* Signal handling cleanup and improved safetyGravatar ridiculousfish2012-06-04
| | | | | 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
* Cleanup proc_had_barrierGravatar ridiculousfish2012-03-31
| | | | Ensure we don't try to do a universal barrier off of the main thread
* A bunch of changes working towards eliminating all memory allocation after ↵Gravatar ridiculousfish2012-03-08
| | | | fork()
* More work towards improving relationship between multithreading and forkGravatar ridiculousfish2012-02-29
|
* Fix a "class <-> struct" warning with clang++Gravatar ridiculousfish2012-02-29
|
* More work on improving interaction between fork and pthreads. Added ↵Gravatar ridiculousfish2012-02-29
| | | | null_terminated_array_t class.
* Some initial work towards resolving nasty fork/pthread issues, and to having ↵Gravatar ridiculousfish2012-02-27
| | | | a per-parser job list
* More work towards autosuggesting completionsGravatar ridiculousfish2012-02-25
|
* Changes to make autosuggestion smarter about not suggesting commands that ↵Gravatar ridiculousfish2012-02-16
| | | | could never succeed.
* Some hopefully good changes to get IOs off of hallocGravatar ridiculousfish2012-02-09
|
* Clean up how argv is stored in process_tGravatar ridiculousfish2012-01-31
|
* Fixed compilation errors caused by latest commitsGravatar Siteshwar Vashisht2012-01-30
|
* Excised some more hallocGravatar ridiculousfish2012-01-29
|
* A bunch of work to move towards a sane memory model in job_tGravatar ridiculousfish2012-01-29
|
* Began migration of job_t away from hallocGravatar ridiculousfish2012-01-29
|
* Convert jobs list to std::listGravatar ridiculousfish2012-01-29
|
* Improve const and signed/unsigned correctnessGravatar Peter Ammon2012-01-14
|
* Some changes to migrate towards C++ and a multithreaded modelGravatar ridiculousfish2011-12-26
|
* remove trailing spacesGravatar Grissiom2010-09-18
| | | | | This is done by `sed -i -e 's/[ \t]*$//' *.[c,h]`, which should not introduce any functionality change.
* Handle exit status of processes terminated by signalsGravatar axel2009-02-22
| | | | darcs-hash:20090221164656-ac50b-7bcbf6cb0bb8384560fbf9bf1059480cb4089def.gz
* Update todo list and code commentsGravatar liljencrantz2008-01-09
| | | | darcs-hash:20080109012338-75c98-745297861fd11ec82e062a79fe1d15c9084342f1.gz
* Cleanup and improve the exit status numbers and the messages generated on ↵Gravatar liljencrantz2008-01-09
| | | | | | error as well as make sure that keyboard shortcuts don't change the status darcs-hash:20080108193145-75c98-56c8aa2dd081af643d206820aa36bf3b6e49e0f2.gz