From: Trent Huber Date: Wed, 27 Aug 2025 20:16:07 +0000 (-0400) Subject: Final clean up X-Git-Url: https://trenthuber.com/code?a=commitdiff_plain;h=810b21338a7b4a341e0298587f8a6a4f090913fd;p=thus.git Final clean up --- diff --git a/src/.gitignore b/src/.gitignore index d08de4e..921c51a 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -1 +1 @@ -libbuiltin.a +libbuiltins.a diff --git a/src/builtins/fg.c b/src/builtins/fg.c index a868bf4..70fe125 100644 --- a/src/builtins/fg.c +++ b/src/builtins/fg.c @@ -46,14 +46,8 @@ static void waitall(int sig) { errno = e; } -void setsigchld(struct sigaction *act) { - if (sigaction(SIGCHLD, act, NULL) == -1) - fatal("Unable to install SIGCHLD handler"); -} - void initfg(void) { - if (tcgetattr(STDIN_FILENO, &canonical) == -1) - fatal("Unable to get default termios config"); + if (tcgetattr(STDIN_FILENO, &canonical) == -1) exit(errno); raw = canonical; raw.c_lflag &= ~(ICANON | ECHO | ISIG); if (!setconfig(&raw)) exit(EXIT_FAILURE); @@ -64,6 +58,11 @@ void initfg(void) { actignore.sa_handler = SIG_IGN; } +void setsigchld(struct sigaction *act) { + if (sigaction(SIGCHLD, act, NULL) == -1) + fatal("Unable to install SIGCHLD handler"); +} + int runfg(pid_t id) { struct bgjob job; @@ -92,9 +91,8 @@ int runfg(pid_t id) { if (sigaction(SIGTTOU, &actignore, NULL) == -1 || tcsetpgrp(STDIN_FILENO, getpgrp()) == -1 || sigaction(SIGTTOU, &actdefault, NULL) == -1) { - note("Unable to reclaim foreground; terminating"); deinit(); - exit(EXIT_FAILURE); + exit(errno); } if (tcgetattr(STDIN_FILENO, &job.config) == -1) note("Unable to save termios config of job %d", id); diff --git a/src/builtins/fg.h b/src/builtins/fg.h index 6436bc4..2d65274 100644 --- a/src/builtins/fg.h +++ b/src/builtins/fg.h @@ -1,7 +1,7 @@ extern struct termios canonical; extern struct sigaction actbg, actdefault; -void setsigchld(struct sigaction *act); void initfg(void); +void setsigchld(struct sigaction *act); int runfg(pid_t id); void deinitfg(void); diff --git a/src/libbuiltins.a b/src/libbuiltins.a deleted file mode 100644 index 7e53159..0000000 Binary files a/src/libbuiltins.a and /dev/null differ diff --git a/src/utils.c b/src/utils.c index ddd4661..c4c8cff 100644 --- a/src/utils.c +++ b/src/utils.c @@ -44,7 +44,7 @@ void fatal(char *fmt, ...) { putchar('\n'); - exit(EXIT_FAILURE); + exit(errno); } void init(void) {