From a28f6d1ab743e13204380d3262ccc6b02c12dc5e Mon Sep 17 00:00:00 2001 From: "julien.seemulle" <julien.seemuller@etu.hesge.ch> Date: Wed, 12 May 2021 17:27:39 +0200 Subject: [PATCH] Adding comments --- bin/command (1).o | Bin 9732 -> 0 bytes bin/command.h | 6 ++++++ bin/interface (1).o | Bin 8184 -> 0 bytes bin/interface.h | 4 +++- bin/main.c | 21 +++++++++++++++++++++ bin/prettycolors.h | 1 + 6 files changed, 31 insertions(+), 1 deletion(-) delete mode 100644 bin/command (1).o delete mode 100644 bin/interface (1).o diff --git a/bin/command (1).o b/bin/command (1).o deleted file mode 100644 index 239673b009e51924681a37137047349cd5eb7be9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9732 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 diff --git a/bin/command.h b/bin/command.h index 2bed089..878af95 100644 --- a/bin/command.h +++ b/bin/command.h @@ -22,11 +22,17 @@ void exec_builtin(char** argv, int argc); //IN: // cmd: struct countaining the command to be executed // foreground: if the task has to be run in foreground or background ('&' sign) +// pid_job : A pointer used to indicate to our shell which program is running currently +// +// pid_job must be initialized to 0 before use. void exec_job(cmd_t *cmd, bool foreground, pid_t* pid_job); // Execute a parsed pipe command as job (forks process) //IN: // cmd: struct countaining the commands to be executed and piped together // [UNUSED !!!] foreground: if the task has to be run in foreground or background ('&' sign) +// pid_job : A pointer used to indicate to our shell which program is running currently +// +// pid_job must be initialized to 0 before use. void exec_job_piped(cmd_t *cmd, bool foreground, pid_t* pid_job); #endif \ No newline at end of file diff --git a/bin/interface (1).o b/bin/interface (1).o deleted file mode 100644 index bfe355d92285f125b6135527ec2e0eaead013b4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8184 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 Du?29+ diff --git a/bin/interface.h b/bin/interface.h index 6144f66..70948ae 100644 --- a/bin/interface.h +++ b/bin/interface.h @@ -38,7 +38,9 @@ int ask_user_input(char* user_input); // cmd: the command to dispose of void dispose_command(cmd_t *cmd); -//Print command for debugging +// Print command for debugging +//IN: +// cmd: the command to print out void print_command(cmd_t cmd); #endif diff --git a/bin/main.c b/bin/main.c index 293f5a9..d1ba41a 100644 --- a/bin/main.c +++ b/bin/main.c @@ -16,6 +16,12 @@ // Stores the PID of the current foreground job int MAIN_JOB_PID = 0; + +// Catch the SIGCHILD signal and handle background processes +//IN: +// signal: [unused] +// +// This function must be used as a handler using the sigaction syscall void sigchld_handler(int signal) { int status; @@ -32,11 +38,23 @@ void sigchld_handler(int signal) } } + +// Terminate the shell and its subprocesses cleanly when we catch a SIGHUP signal. +//IN: +// signum: [unused] +// +// This function is designed to be used as an handler for the sighup signal : use the signal() syscall. void sighup(int signum) { exit(EXIT_SUCCESS); } +// Redirects a signal to the main job. +//IN: +// signum: the type of signal to be redirected to the main job, in our case sigint +// +// This function is designed to be used as an handler for signals : use the signal() syscall. +// In our case, we will use it to redirect the SIGINT signal to our main job process. void sigint_job(int signum) { if (MAIN_JOB_PID) @@ -46,6 +64,9 @@ void sigint_job(int signum) } } + + + int main(int argc, char *const argv[]) { printf(BOLDCYAN "Welcome to WaffleShell (#sh), use at your own risk !\n" RESET); diff --git a/bin/prettycolors.h b/bin/prettycolors.h index c5816d0..177905a 100644 --- a/bin/prettycolors.h +++ b/bin/prettycolors.h @@ -1,3 +1,4 @@ +// LIST OF COLORS AVAILABLE TO OUR TERMINAL #define RESET "\033[0m" #define BLACK "\033[30m" /* Black */ #define RED "\033[31m" /* Red */ -- GitLab