Executor working, need to validate with the parser fixed, all norme fixed
This commit is contained in:
@@ -19,23 +19,38 @@
|
||||
|
||||
# define READ_PIPE 0
|
||||
# define WRITE_PIPE 1
|
||||
|
||||
typedef struct s_pipeline
|
||||
{
|
||||
int prev_read_fd;
|
||||
int pipefd[2];
|
||||
} t_pipeline;
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
/* Functions */
|
||||
/******************************************************************************/
|
||||
|
||||
// executor.c
|
||||
|
||||
# define PIPE_ERROR -1
|
||||
# define FORK_ERROR -1
|
||||
|
||||
extern uint8_t execute(t_list *command, t_minishell *minishell);
|
||||
typedef struct s_pipeline
|
||||
{
|
||||
int prev_read_fd;
|
||||
int pipefd[2];
|
||||
} t_pipeline;
|
||||
|
||||
typedef struct s_exec_state
|
||||
{
|
||||
uint8_t exit_status;
|
||||
t_pipeline pipeline;
|
||||
t_list *current_command;
|
||||
pid_t last_child_pid;
|
||||
} t_exec_state;
|
||||
|
||||
extern uint8_t execute(t_list *command, t_minishell *minishell);
|
||||
extern uint8_t executor_execute_command(t_command *cmd, t_minishell *msh);
|
||||
extern char *executor_resolve_command_path(const t_command *cmd,
|
||||
t_minishell *msh);
|
||||
extern bool executor_is_builtin_command(const t_command *cmd,
|
||||
t_minishell *msh);
|
||||
extern int executor_create_pipe_if_needed(t_list *node, t_pipeline *pl);
|
||||
extern bool executor_is_fork_required(t_list *node, const t_pipeline *pl,
|
||||
t_minishell *msh);
|
||||
extern void executor_setup_child_input(t_pipeline *pipeline);
|
||||
extern void executor_setup_child_output(t_list *node, t_pipeline *pl);
|
||||
extern void executor_child_process(t_list *node, t_pipeline *pl,
|
||||
t_minishell *msh);
|
||||
extern void executor_parent_cleanup(t_list *node, t_pipeline *pl);
|
||||
extern uint8_t executor_wait_for_children(pid_t last_child_pid);
|
||||
extern void executor_cmdfree(t_command *command);
|
||||
|
||||
#endif /* EXECUTOR_H */
|
||||
|
||||
Reference in New Issue
Block a user