aboutsummaryrefslogtreecommitdiffhomepage
path: root/proc.h
Commit message (Collapse)AuthorAge
* 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
* 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
* Replace the count function with a builtin for performance reasons. The count ↵Gravatar axel2007-08-01
| | | | | | function used at least two forks, which was noticable on systems such as OS X with slow forks darcs-hash:20070731212332-ac50b-8f5b2e70008ddb131dc8bae3f361d8d65a294948.gz
* Make it possible to buffer input to other file descriptors than stdin. It is ↵Gravatar axel2007-01-08
| | | | | | still only possible to buffer input on a single descriptor to any given job. darcs-hash:20070107141052-ac50b-561265cd5acde7d882e4506870f13d61d34b3734.gz
* Code cleanup: Use a macro constant instead fo a literal for builtin exit codesGravatar axel2006-12-14
| | | | darcs-hash:20061213143431-ac50b-5c5cec623ecca9f52c7d44cfcb26f07fe2fcda39.gz
* Minor code edit - move a bit of code into its own functionGravatar axel2006-11-20
| | | | darcs-hash:20061120131224-ac50b-974496cc800377e4e06475491f89998b9640fbba.gz
* Use bitset to implement flags for jobs instead of wasting a whole int for ↵Gravatar axel2006-10-26
| | | | | | every flag darcs-hash:20061025204759-ac50b-ea07caa30782a1ea02d2cd8aa7cbc94474047a10.gz
* Be more rigorous with the exit codes set by the parser and builtinsGravatar axel2006-10-09
| | | | darcs-hash:20061009012102-ac50b-4f28c43dd1ccdcc04d1620a6da05218a99fd7337.gz
* Unknown commands should set the status flag to 127, as in bash and friendsGravatar axel2006-10-09
| | | | darcs-hash:20061008234650-ac50b-d41e6ec3d0a6088b0addf5721aecf8d98ed866cd.gz
* fish_pager_via_stdinGravatar stew2006-08-22
| | | | darcs-hash:20060822012451-2edb7-d8939fab708d8c605d2c7d0683c71f11db659bc9.gz
* Fix psub deadlocks by once again considering a job as completed whenever the ↵Gravatar axel2006-07-08
| | | | | | last process in the pipeline is dead darcs-hash:20060707153539-ac50b-76842c851c3a4247c086e3242f70361b9d2d396b.gz
* Fix minor typos in code commentsGravatar axel2006-06-05
| | | | darcs-hash:20060605004201-ac50b-66c51908cd1f23307042991b32ccbed487685500.gz
* Minor edits of function descriptions, includes, etc.Gravatar axel2006-05-03
| | | | darcs-hash:20060502162950-ac50b-c2fcfc957d55f292744bcb4b33b4d66fc42087ed.gz
* Make job id numbering start from 1, not 0Gravatar axel2006-04-28
| | | | darcs-hash:20060428132137-ac50b-8e5adcdbc18ad7627b66e9129a13b037a669dd02.gz
* Add support for the -n switch to skip execution of any commandsGravatar axel2006-03-18
| | | | darcs-hash:20060318010459-ac50b-9d9e5c489e0e4df2159d8c1d0ff952d42e2a2a82.gz
* API documentation, code style cleanup, etc.Gravatar axel2006-02-20
| | | | darcs-hash:20060220131146-ac50b-6ec3664e5e3eaefa2296a93d39014058df37fdf2.gz
* Fix bug in fish causing occasionally incorrect signal handlersGravatar axel2006-02-16
| | | | darcs-hash:20060216133632-ac50b-f24c049830f9c6deca50aca640189ad3f87b630a.gz