]> Trent Huber's Code - thus.git/commitdiff
Final clean up
authorTrent Huber <trentmhuber@gmail.com>
Wed, 27 Aug 2025 20:16:07 +0000 (16:16 -0400)
committerTrent Huber <trentmhuber@gmail.com>
Wed, 27 Aug 2025 20:16:07 +0000 (16:16 -0400)
src/.gitignore
src/builtins/fg.c
src/builtins/fg.h
src/libbuiltins.a [deleted file]
src/utils.c

index d08de4e172cb4c2b436bd2912a5e25daeb9f0722..921c51a8c6371df640c1afd5b83b143d55abf85e 100644 (file)
@@ -1 +1 @@
-libbuiltin.a
+libbuiltins.a
index a868bf48beaa23792b7905b2e17eac2cdd32191a..70fe125e7af7328a884dfbc10b49f02f33dc9ec5 100644 (file)
@@ -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);
index 6436bc40ab8c4553f3c33b5f3be8a35ce0b796e6..2d65274ac7b46472347d3127659da5dd97c9955a 100644 (file)
@@ -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 (file)
index 7e53159..0000000
Binary files a/src/libbuiltins.a and /dev/null differ
index ddd46613393bc896b612456005392462541aa31d..c4c8cff6108b3d9d6072376029d026b85d4131cf 100644 (file)
@@ -44,7 +44,7 @@ void fatal(char *fmt, ...) {
 
    putchar('\n');
 
-   exit(EXIT_FAILURE);
+   exit(errno);
 }
 
 void init(void) {