summary refs log tree commit diff
path: root/Src/jobs.c
Commit message (Collapse)AuthorAgeFilesLines
* 39359: Fix remaining race with orphaned subjob.Peter Stephenson2016-09-161-1/+2
| | | | | | When shell is forked to run right hand side of pipieline it should use its own PID as process group if the left hand side of the pipeline has already exited.
* 39331: Reparent subjob on fork with exited superjob.Peter Stephenson2016-09-161-2/+9
| | | | | | | | | | | Fixes case of v() { { vim - } always { true } } ls | v ^Z fg Tentative fix: still a race at exit where zsh forked by ^Z is stopped when restarted.
* 38923: zwaitjob() continues waiting for children that may have ignored the ↵Barton E. Schaefer2016-07-231-1/+8
| | | | interrupt signal, even if the current shell has been interrupted.
* users/21632: Use of REPORTMEMORY variablePeter Stephenson2016-06-131-14/+39
| | | | | | If the child's resisdent set size in megabytes exceeds this, print out the resource (TIMEFMT) string. Document you need to add memory usage to this by hand.
* 38622: consistent handling of "--" in "kill" builtinBarton E. Schaefer2016-06-051-0/+4
|
* 37868: add 'static' to file local variablesJun-ichi Takimoto2016-02-031-3/+3
|
* 36180: avoid infinite job stop/continue loop on "wait PID" for a background jobBarton E. Schaefer2015-08-151-1/+8
|
* 36104: change order of child_block() and dont_queue_signals() to resolve yet ↵Barton E. Schaefer2015-08-111-2/+2
| | | | another race condition
* 35929: protect FDT_PROC_SUBST by #ifdefJun-ichi Takimoto2015-08-091-2/+5
|
* 35849: close fd's from process substitution after forkPeter Stephenson2015-07-231-4/+6
| | | | Leaving these hanging in parent could cause deadlock: test added.
* 35032: Handle SIGCONT for process better.Peter Stephenson2015-05-051-1/+3
| | | | Update job status as well as process status.
* 34120: compctl, jobs: Check contents instead of arrayMikael Magnusson2015-01-061-1/+1
| | | | | | text is an array in the struct, and can never be null. Found by Coverity (Issue 1255780).
* 33992: do not attempt attachtty() for process group zero (which is possible ↵Barton E. Schaefer2014-12-181-2/+5
| | | | in a linux pid namespace)
* 33982: minimal support for pid namespaces by recognizing that GETPGRP() may ↵Chirantan Ekbote2014-12-161-1/+1
| | | | return 0
* 33876: etc.: Separate errors and keyboards interruptsPeter Stephenson2014-12-111-8/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Combination of 12 commits from interrupt_abort branch. Basic strategy is to introduce bits to errflag and to set and reset them separately. Remove interrupt status on return to main keymap. Turn off ERRFLAG_INT for always block. Restore bit thereafter: we probably need a new variable in order to allow user interrupts to be reset in the always block. Add TRY_BLOCK_INTERRUPT This works the same as TRY_BLOCK_ERROR, but for a SIGINT, too. Ensure propagation of SIGINT from exited job. If received by foreground job, shell uses ERRFLAG_INT, not ERRFLAG_ERROR, to set the new state. Reset errflag before precmd() Add always block in _main_completion to fix ZLS_COLORS Ensures we get the right state of $ZLS_COLORS at the end of _main_complete even if there's an interrupt. However, the "right state" is a bit messy as it depends on styles.
* unposted: quash compiler warningOliver Kiddle2014-10-311-0/+2
|
* 33562: Fix thinko in previous commitMikael Magnusson2014-10-271-1/+3
|
* 33561: The time builtin forgot to unmetafy TIMEFMTMikael Magnusson2014-10-271-1/+1
|
* 33531 with additions: retain status of exited background jobs.Peter Stephenson2014-10-261-21/+117
| | | | | | | | Add linked list of unwaited-for background jobs. Truncate at value of _SC_CHILD_MAX discarding oldest. Remove old lastpid_status mechanism for latest exited process only. Slightly tighten safety of permanently allocated linked lists so that this doesn't compromise signal handling.
* 33354: when backgrounding a pipeline, close all pipe descriptors in the parentBarton E. Schaefer2014-10-041-1/+3
| | | | Add test for both this and 33345+33346
* 33042: $? and $pipestatus report 128+signal number for stopped jobsBarton E. Schaefer2014-08-221-5/+10
|
* 32624: use correct scaling factor (clock ticks) for timesPeter Stephenson2014-05-291-15/+17
|
* 32178: fix another acquire_pgrp() infinite loopBarton E. Schaefer2013-12-251-0/+4
|
* 32176: plug additional deadlock-inducing pipe descriptor leaksPeter Stephenson2013-12-211-13/+25
|
* 31929: Src/jobs.c: fix DPUTS3() test condition from 31906.Barton E. Schaefer2013-10-291-1/+1
|
* 31906: fix race-condition interaction of $pipestatus with job controlBarton E. Schaefer2013-10-261-3/+10
| | | | printjob() should not reference oldjobtab for job numbers unless it is being called from bin_fg(). printjob() also must not attempt to update pipestats when called from bin_fg(). acquire_pgrp() should not loop infintely if the shell is not interactive. Update the $pipestatus stress test so that it also exercises the oldjobtab repair.
* 31885: fix PIPEFAIL when the last command executes in the current shellBarton E. Schaefer2013-10-241-18/+24
|
* 31879 plus misc.: improve $pipestatus handling and add a test for itBarton E. Schaefer2013-10-231-17/+35
|
* users:18023: Add PIPEFAIL optionPeter Stephenson2013-10-061-3/+10
|
* 31536 with additions: Fix hang in previous process substitution fix.Peter Stephenson2013-07-191-0/+25
| | | | Close applicable file descriptors when waiting for a job.
* 31528: use job table to record file descriptors associated with process substPeter Stephenson2013-07-171-5/+37
|
* users/17042: don't stomp the environment in "jobs -Z" unless we've firstBart Schaefer2012-11-181-0/+2
| | | | copied it to new memory.
* 30724: shell code optimisd to use execsimple() doesn't have a valid thisjobPeter Stephenson2012-10-111-1/+7
|
* 30687 with typo corrected: don't REPORTTIME if zleactivePeter Stephenson2012-09-211-0/+2
|
* Danek: 30485: trailing garbage after signal number not recognised in killPeter Stephenson2012-05-221-3/+8
|
* 30410 plus one other case: avoid divide-by-zero errorsPeter Stephenson2012-04-151-3/+10
| | | | in TIMEFMT interpretation
* users/16289: don't delete temporary files on disown.Peter Stephenson2011-08-281-13/+18
| | | | Document.
* 29650: Don't lose time info after a suspend+restore.Wayne Davison2011-08-161-0/+2
|
* unposted: fix capitalized word in the middle of a sentenceMikael Magnusson2011-08-141-1/+1
|
* 29654: "wait" should resume stopped jobs identified by process ID as wellBart Schaefer2011-08-101-6/+13
| | | | | as by job number; temporary (?) workaround for pipelines getting lost if TSTP is delivered when a shell builtin is the tail of the pipe.
* 29481: always return a matching job in findproc() but scan the whole listBart Schaefer2011-06-151-4/+6
| | | | to prefer running jobs
* 29472: findproc() needs at least to also return stopped jobs.Bart Schaefer2011-06-121-1/+2
|
* 29307, 29308 + replies: Fix some doubled words in docs and comments.Mikael Magnusson2011-05-191-1/+1
|
* 29165: use term.h globally if needed at all.Peter Stephenson2011-05-091-1/+1
|
* Stef van Vlierberghe: 28965 (as posted in 28967):Peter Stephenson2011-04-011-1/+18
| | | | findproc() should not return processes not marked as SP_RUNNING
* 28179, users/15314, users/15310, users/15200:Peter Stephenson2010-08-221-2/+57
| | | | various job and process control fixes
* 28172: mark processes as not stopped if sent SIGCONTPeter Stephenson2010-08-181-4/+14
|
* users/15219: PRINTEXITVALUE if terminated by signalPeter Stephenson2010-07-311-0/+4
|
* always print job status if non-zero status and PRINTEXITSVALUEPeter Stephenson2010-07-311-12/+18
|
* Check the return value of all pipe(), read(), and write() calls.Wayne Davison2009-12-161-1/+1
| | | | | | Gets rid of all the remaining "ignoring return value" compiler warnings, and makes some read/write operations safer by ensuring that an EINTR is handled.