ariard's fix #154 and #155

This commit is contained in:
Jack Halford 2017-03-22 17:36:43 +01:00
parent cab08b3f71
commit 7485dc7153
2 changed files with 4 additions and 6 deletions

View file

@ -6,7 +6,7 @@
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */ /* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2016/12/15 11:49:05 by jhalford #+# #+# */ /* Created: 2016/12/15 11:49:05 by jhalford #+# #+# */
/* Updated: 2017/03/20 14:31:28 by jhalford ### ########.fr */ /* Updated: 2017/03/22 17:29:38 by jhalford ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -28,9 +28,7 @@ int job_wait(int id)
{ {
if ((pid = waitpid(-j->pgid, &status, WUNTRACED)) == -1 if ((pid = waitpid(-j->pgid, &status, WUNTRACED)) == -1
&& errno != ECHILD) && errno != ECHILD)
ft_dprintf(2, "{red}%s: waitpid error errno=%i{eoc}\n", SH_ERR("waitpid(): %s", strerror(errno));
SHELL_NAME, errno);
DG("wait trigger pid=%i", pid);
if (pid <= 1 || mark_process_status(pid, status) if (pid <= 1 || mark_process_status(pid, status)
|| job_is_stopped(j) || job_is_stopped(j)
|| job_is_completed(j)) || job_is_completed(j))

View file

@ -6,7 +6,7 @@
/* By: gwojda <gwojda@student.42.fr> +#+ +:+ +#+ */ /* By: gwojda <gwojda@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2017/03/20 14:45:40 by gwojda #+# #+# */ /* Created: 2017/03/20 14:45:40 by gwojda #+# #+# */
/* Updated: 2017/03/22 17:25:20 by jhalford ### ########.fr */ /* Updated: 2017/03/22 17:35:21 by jhalford ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -47,7 +47,7 @@ static int handle_instruction(t_list **token, t_btree **ast)
if ((ret = do_parser_routine(token, ast)) == 1 if ((ret = do_parser_routine(token, ast)) == 1
&& SH_NO_INTERACTIVE(data->opts)) && SH_NO_INTERACTIVE(data->opts))
return (ret); return (ret);
else if (ret == 2) else if (ret > 0)
break ; break ;
} }
if (data->parser.state == SUCCESS && ft_exec(ast) < 0) if (data->parser.state == SUCCESS && ft_exec(ast) < 0)