close_stdio() at exit

This commit is contained in:
LuckyLaszlo
2021-12-10 06:34:44 +01:00
parent 592bcb4e93
commit 9322ec9ec9
2 changed files with 12 additions and 0 deletions

View File

@@ -66,6 +66,7 @@ int builtin_echo(int argc, char *argv[], t_all *c);
int exit_free(t_all *c, int exit_status);
void free_pipeline(t_cmd **pipeline_ptr[]);
void close_pipeline_fd(t_cmd *pipeline[]);
void close_stdio(void);
typedef void (*t_free_f)(void *); // generic
// Error wrappers

View File

@@ -23,6 +23,7 @@ int exit_free(t_all *c, int exit_status)
//if (c->termios_changed)
// tcsetattr(STDIN_FILENO, TCSANOW, &c->ori_termios);
rl_clear_history();
close_stdio();
exit(exit_status);
}
@@ -70,3 +71,13 @@ void close_pipeline_fd(t_cmd *pipeline[])
i++;
}
}
void close_stdio(void)
{
if (close(STDIN_FILENO) == -1)
perror("close()");
if (close(STDOUT_FILENO) == -1)
perror("close()");
if (close(STDERR_FILENO) == -1)
perror("close()");
}