This commit is contained in:
Jack Halford 2017-01-03 18:47:41 +01:00
parent d2982d89bc
commit ca89fcf53d
6 changed files with 14 additions and 12 deletions

View file

@ -6,7 +6,7 @@
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */ /* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2016/12/13 14:20:45 by jhalford #+# #+# */ /* Created: 2016/12/13 14:20:45 by jhalford #+# #+# */
/* Updated: 2017/01/02 19:10:46 by jhalford ### ########.fr */ /* Updated: 2017/01/03 18:01:30 by jhalford ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */

View file

@ -6,7 +6,7 @@
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */ /* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2016/12/13 17:48:10 by jhalford #+# #+# */ /* Created: 2016/12/13 17:48:10 by jhalford #+# #+# */
/* Updated: 2016/12/13 17:48:11 by jhalford ### ########.fr */ /* Updated: 2017/01/03 18:04:09 by jhalford ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -20,7 +20,7 @@ int process_setgroup(t_process *p)
(void)p; (void)p;
job = &data_singleton()->exec.job; job = &data_singleton()->exec.job;
pid = getpid(); pid = p->pid;
if (job->pgid == 0) if (job->pgid == 0)
job->pgid = pid; job->pgid = pid;
setpgid(pid, job->pgid); setpgid(pid, job->pgid);

View file

@ -6,7 +6,7 @@
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */ /* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2016/12/15 17:43:01 by jhalford #+# #+# */ /* Created: 2016/12/15 17:43:01 by jhalford #+# #+# */
/* Updated: 2017/01/02 19:11:19 by jhalford ### ########.fr */ /* Updated: 2017/01/03 18:13:47 by jhalford ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -39,7 +39,7 @@ int builtin_jobs(const char *path, char *const av[], char *const envp[])
ft_printf("{mag}[%i] %c ", job->id, rank); ft_printf("{mag}[%i] %c ", job->id, rank);
if (lg) if (lg)
ft_printf("%i ", p->pid); ft_printf("%i ", p->pid);
ft_printf("attr=%x ", job->attributes); ft_printf("attr=%#b ", job->attributes);
plist = job->first_process; plist = job->first_process;
while (plist) while (plist)
{ {

View file

@ -6,7 +6,7 @@
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */ /* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2016/12/13 13:54:51 by jhalford #+# #+# */ /* Created: 2016/12/13 13:54:51 by jhalford #+# #+# */
/* Updated: 2017/01/02 18:16:12 by jhalford ### ########.fr */ /* Updated: 2017/01/03 18:16:00 by jhalford ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -29,9 +29,12 @@ int job_addprocess(t_process *p)
DG("added new job [%i]", job->id); DG("added new job [%i]", job->id);
} }
job = jobc->first_job->content; job = jobc->first_job->content;
ft_lstadd(&job->first_process, ft_lstnew(p, sizeof(*p))); if (p->pid > 0)
{
ft_lstadd(&job->first_process, ft_lstnew(p, sizeof(*p)));
DG("added process to first_job : %i", p->pid);
}
if (JOB_IS_BG(job->attributes) && IS_PIPEEND(p->attributes)) if (JOB_IS_BG(job->attributes) && IS_PIPEEND(p->attributes))
job_notify_new(job); job_notify_new(job);
DG("added process to first_job : %i", p->pid);
return(0); return(0);
} }

View file

@ -6,7 +6,7 @@
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */ /* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2016/12/13 15:10:20 by jhalford #+# #+# */ /* Created: 2016/12/13 15:10:20 by jhalford #+# #+# */
/* Updated: 2016/12/13 15:24:25 by jhalford ### ########.fr */ /* Updated: 2017/01/03 18:12:26 by jhalford ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -22,7 +22,6 @@ int job_is_completed(int id)
jobc = &data_singleton()->jobc; jobc = &data_singleton()->jobc;
job = ft_lst_find(jobc->first_job, &id, job_cmp_id)->content; job = ft_lst_find(jobc->first_job, &id, job_cmp_id)->content;
lst = job->first_process; lst = job->first_process;
DG("check");
while (lst) while (lst)
{ {
p = lst->content; p = lst->content;

View file

@ -6,7 +6,7 @@
/* By: jhalford <jack@crans.org> +#+ +:+ +#+ */ /* By: jhalford <jack@crans.org> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2016/12/12 12:41:11 by jhalford #+# #+# */ /* Created: 2016/12/12 12:41:11 by jhalford #+# #+# */
/* Updated: 2016/12/15 15:12:38 by jhalford ### ########.fr */ /* Updated: 2017/01/03 18:01:15 by jhalford ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -29,7 +29,7 @@ int process_mark_status(pid_t pid, int status)
{ {
p->attributes |= PROCESS_COMPLETED; p->attributes |= PROCESS_COMPLETED;
if (WIFSIGNALED(status)) if (WIFSIGNALED(status))
ft_printf("%d: Terminated by signal %d.\n", ft_printf("{mag}%d: Terminated by signal %d.\n{eoc}",
(int) pid, WTERMSIG(p->status)); (int) pid, WTERMSIG(p->status));
} }
return(0); return(0);