From d68fa79b68dd527d1861df47df4f360b793b9174 Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 16 Jul 2020 09:24:42 +0200 Subject: Fixing cmd_variable with same names with env_export, Refactoring signal and prompt out of main --- src/signal.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/signal.c (limited to 'src/signal.c') diff --git a/src/signal.c b/src/signal.c new file mode 100644 index 0000000..50e07e7 --- /dev/null +++ b/src/signal.c @@ -0,0 +1,47 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* signal.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/07/16 09:16:16 by charles #+# #+# */ +/* Updated: 2020/07/16 09:18:21 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "minishell.h" +#include "eval.h" + +void signal_sigint(int signum) +{ + (void)signum; + g_last_status_code = 130; + if (g_child_pid != -1) + { + kill(g_child_pid, SIGINT); + ft_putchar('\n'); + } + else + { + ft_putchar('\n'); + print_prompt(); + } +} + +void signal_sigquit(int signum) +{ + (void)signum; + g_last_status_code = 131; + if (g_child_pid != -1) + { + kill(g_child_pid, SIGQUIT); + ft_putstr("Quit (core dumped)\n"); + } +} + +void signal_sigterm(int signum) +{ + (void)signum; +} + -- cgit