clean: norm
This commit is contained in:
28
cmd/cmd.c
28
cmd/cmd.c
@ -6,10 +6,11 @@
|
||||
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2023/02/15 14:18:21 by cchauvet #+# #+# */
|
||||
/* Updated: 2023/03/31 16:31:41 by alouis-j ### ########.fr */
|
||||
/* Updated: 2023/04/07 15:04:04 by alouis-j ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "cmd.h"
|
||||
#include "cmd_private.h"
|
||||
|
||||
void ft_cmddel(void *ptr)
|
||||
@ -40,3 +41,28 @@ void ft_cmdcloser(void *ptr)
|
||||
ft_closer(cmd->fd_in);
|
||||
ft_closer(cmd->fd_out);
|
||||
}
|
||||
|
||||
void ft_cmdwaiter(void *ptr)
|
||||
{
|
||||
t_cmd *cmd;
|
||||
int exit_status;
|
||||
|
||||
cmd = ptr;
|
||||
if (cmd->executable != NULL && cmd->own_cmd == 0
|
||||
&& cmd->pid != -1 && cmd->fd_in[0] != -2 && cmd->fd_out[0] != -2)
|
||||
{
|
||||
waitpid(cmd->pid, &exit_status, 0);
|
||||
if (WIFSIGNALED(exit_status))
|
||||
{
|
||||
if (exit_status == 131)
|
||||
{
|
||||
ft_printf("Quit (core dumped)\n");
|
||||
*ft_get_exit_code() = 131;
|
||||
}
|
||||
else
|
||||
*ft_get_exit_code() = 130;
|
||||
}
|
||||
else
|
||||
*ft_get_exit_code() = WEXITSTATUS(exit_status);
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,7 @@
|
||||
/* By: cchauvet <cchauvet@student.42angouleme.fr +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2023/03/28 15:47:01 by cchauvet #+# #+# */
|
||||
/* Updated: 2023/03/31 16:32:14 by alouis-j ### ########.fr */
|
||||
/* Updated: 2023/04/07 15:03:53 by alouis-j ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -26,6 +26,7 @@ typedef struct s_cmd
|
||||
} t_cmd;
|
||||
|
||||
void ft_cmddel(void *content);
|
||||
void ft_cmdwaiter(void *content);
|
||||
void ft_cmdcloser(void *ptr);
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user