Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 44290: job number exceeding int range and wrapping to a negative number ↵ | Oliver Kiddle | 2019-05-14 | 1 | -1/+1 |
| | | | | crashed the shell | ||||
* | 43945 (tweaked to remove test failure, noted in test): | Martijn Dekker | 2018-12-30 | 1 | -10/+13 |
| | | | | | Fix exit statuses from wait for POSIX_BUILTINS mode. Also add tests. | ||||
* | 43589: Further improved subjob reporting. | Peter Stephenson | 2018-10-03 | 1 | -9/+5 |
| | | | | | Show subjob status instead of user-visible superjob any time the subjob still has associated processes. | ||||
* | 43570: Start documenting jobs.c, in particular superjobs. | Daniel Shahaf | 2018-09-28 | 1 | -3/+24 |
| | |||||
* | 43564: improve job control report about stopped subjob | Peter Stephenson | 2018-09-26 | 1 | -5/+37 |
| | |||||
* | 43543: Further improvements to fg/bg of superjob/subjob. | Peter Stephenson | 2018-09-25 | 1 | -22/+25 |
| | | | | | | | Attempt to keep STAT_STOPPED correct for superjob, rendering additional "stopped = 1" unnecessary. Wait for subjob before superjob. | ||||
* | 43535: Fixes for bg / fg handling of superjobs. | Peter Stephenson | 2018-09-24 | 1 | -16/+27 |
| | | | | | | | | | | | Be more consistent about marking both superjob and subjob as running when sending SIGCONT. Send SIGCONT to superjob / subjob combination any time it is put in foreground, even if thought running, since subjob may invisibly have suspended. When waiting for superjob, wait for subjob, too. | ||||
* | 43464: Another attachtty() fix. | Peter Stephenson | 2018-09-16 | 1 | -0/+10 |
| | | | | | | | | | If list_pipe_job triggered more than once we need to know the most recent process group leader, so record that both if the attach happened in the main shell on in entersubsh(). Also don't pass back proocess group for ESUB_ASYNC subshells. | ||||
* | 43446: More entersubsh() / addproc() wiring. | Peter Stephenson | 2018-09-12 | 1 | -4/+10 |
| | | | | | Fix additional races by passing back use of list_pipe_job from subshell. | ||||
* | 43409: Fix process group setting in main shell. | Peter Stephenson | 2018-09-07 | 1 | -4/+9 |
| | | | | | | | | | A newly forked subshell now reports back the process group it will be using for the main shell to record. This prevents an error where the shell incorrectly thought an exiting process owned the terminal and so grabbed it back, putting the foreground process into the background. | ||||
* | 42793: Always define FDT_PROC_SUBST even if not needed. | Peter Stephenson | 2018-05-17 | 1 | -5/+1 |
| | | | | This avoids proliferating #ifdef's. | ||||
* | 42453: Fix race in look up of status for wait. | Peter Stephenson | 2018-03-12 | 1 | -2/+5 |
| | | | | | | Background jobs that had just exited could still be in the table when the process had already finished and the status was recorded, causing the wrong status to be reported. | ||||
* | 42362: protect REPORTTIME logic from bad status | Peter Stephenson | 2018-02-17 | 1 | -0/+3 |
| | |||||
* | add millisecond and microsecond options to TIMEFMT variable | dana | 2017-12-14 | 1 | -0/+34 |
| | |||||
* | 41688: builtin wait for all jobs should ignore STAT_NOPRINT | Peter Stephenson | 2017-09-13 | 1 | -1/+2 |
| | |||||
* | Delay processing "disown" for superjob. | Peter Stephenson | 2017-07-04 | 1 | -0/+8 |
| | | | | | | | This is a job forked from the current shell when a job partly running from the current shell was suspended. When all associated processes started from the main shell are finished the job is continued and at this point the disown can complete. | ||||
* | 41386: when backgrounding a STAT_CURSH job, remove the flag. | Peter Stephenson | 2017-07-02 | 1 | -1/+3 |
| | | | | | This typical applies to a STAT_SUPERJOB. It prevents it from getting copied interrupts as a foreground process. | ||||
* | 39359: Fix remaining race with orphaned subjob. | Peter Stephenson | 2016-09-16 | 1 | -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 Stephenson | 2016-09-16 | 1 | -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. Schaefer | 2016-07-23 | 1 | -1/+8 |
| | | | | interrupt signal, even if the current shell has been interrupted. | ||||
* | users/21632: Use of REPORTMEMORY variable | Peter Stephenson | 2016-06-13 | 1 | -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" builtin | Barton E. Schaefer | 2016-06-05 | 1 | -0/+4 |
| | |||||
* | 37868: add 'static' to file local variables | Jun-ichi Takimoto | 2016-02-03 | 1 | -3/+3 |
| | |||||
* | 36180: avoid infinite job stop/continue loop on "wait PID" for a background job | Barton E. Schaefer | 2015-08-15 | 1 | -1/+8 |
| | |||||
* | 36104: change order of child_block() and dont_queue_signals() to resolve yet ↵ | Barton E. Schaefer | 2015-08-11 | 1 | -2/+2 |
| | | | | another race condition | ||||
* | 35929: protect FDT_PROC_SUBST by #ifdef | Jun-ichi Takimoto | 2015-08-09 | 1 | -2/+5 |
| | |||||
* | 35849: close fd's from process substitution after fork | Peter Stephenson | 2015-07-23 | 1 | -4/+6 |
| | | | | Leaving these hanging in parent could cause deadlock: test added. | ||||
* | 35032: Handle SIGCONT for process better. | Peter Stephenson | 2015-05-05 | 1 | -1/+3 |
| | | | | Update job status as well as process status. | ||||
* | 34120: compctl, jobs: Check contents instead of array | Mikael Magnusson | 2015-01-06 | 1 | -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. Schaefer | 2014-12-18 | 1 | -2/+5 |
| | | | | in a linux pid namespace) | ||||
* | 33982: minimal support for pid namespaces by recognizing that GETPGRP() may ↵ | Chirantan Ekbote | 2014-12-16 | 1 | -1/+1 |
| | | | | return 0 | ||||
* | 33876: etc.: Separate errors and keyboards interrupts | Peter Stephenson | 2014-12-11 | 1 | -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 warning | Oliver Kiddle | 2014-10-31 | 1 | -0/+2 |
| | |||||
* | 33562: Fix thinko in previous commit | Mikael Magnusson | 2014-10-27 | 1 | -1/+3 |
| | |||||
* | 33561: The time builtin forgot to unmetafy TIMEFMT | Mikael Magnusson | 2014-10-27 | 1 | -1/+1 |
| | |||||
* | 33531 with additions: retain status of exited background jobs. | Peter Stephenson | 2014-10-26 | 1 | -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 parent | Barton E. Schaefer | 2014-10-04 | 1 | -1/+3 |
| | | | | Add test for both this and 33345+33346 | ||||
* | 33042: $? and $pipestatus report 128+signal number for stopped jobs | Barton E. Schaefer | 2014-08-22 | 1 | -5/+10 |
| | |||||
* | 32624: use correct scaling factor (clock ticks) for times | Peter Stephenson | 2014-05-29 | 1 | -15/+17 |
| | |||||
* | 32178: fix another acquire_pgrp() infinite loop | Barton E. Schaefer | 2013-12-25 | 1 | -0/+4 |
| | |||||
* | 32176: plug additional deadlock-inducing pipe descriptor leaks | Peter Stephenson | 2013-12-21 | 1 | -13/+25 |
| | |||||
* | 31929: Src/jobs.c: fix DPUTS3() test condition from 31906. | Barton E. Schaefer | 2013-10-29 | 1 | -1/+1 |
| | |||||
* | 31906: fix race-condition interaction of $pipestatus with job control | Barton E. Schaefer | 2013-10-26 | 1 | -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 shell | Barton E. Schaefer | 2013-10-24 | 1 | -18/+24 |
| | |||||
* | 31879 plus misc.: improve $pipestatus handling and add a test for it | Barton E. Schaefer | 2013-10-23 | 1 | -17/+35 |
| | |||||
* | users:18023: Add PIPEFAIL option | Peter Stephenson | 2013-10-06 | 1 | -3/+10 |
| | |||||
* | 31536 with additions: Fix hang in previous process substitution fix. | Peter Stephenson | 2013-07-19 | 1 | -0/+25 |
| | | | | Close applicable file descriptors when waiting for a job. | ||||
* | 31528: use job table to record file descriptors associated with process subst | Peter Stephenson | 2013-07-17 | 1 | -5/+37 |
| | |||||
* | users/17042: don't stomp the environment in "jobs -Z" unless we've first | Bart Schaefer | 2012-11-18 | 1 | -0/+2 |
| | | | | copied it to new memory. | ||||
* | 30724: shell code optimisd to use execsimple() doesn't have a valid thisjob | Peter Stephenson | 2012-10-11 | 1 | -1/+7 |
| |