aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-09-01 10:41:39 +0000
committer_ov4 <ov4@ov4.org>2026-09-01 10:41:39 +0000
commit6d9469d916bb80aa76c82097e60b725de1661d5c (patch)
tree1c8d4f046c46d387914bc73fd912dd6eac950a0d /include
parent94c449ca42bd29de2c2fd137945550fe110fcd17 (diff)
real foreground/background
Diffstat (limited to 'include')
-rw-r--r--include/eval.h21
-rw-r--r--include/ground.h3
-rw-r--r--include/handler.h11
3 files changed, 11 insertions, 24 deletions
diff --git a/include/eval.h b/include/eval.h
index 919d03f..5e8a1c7 100644
--- a/include/eval.h
+++ b/include/eval.h
@@ -1,25 +1,6 @@
#pragma once
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <ctype.h>
-#include <signal.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <errno.h>
-#include <iostream>
-#include <vector>
-#include <string>
-
-#include "global.h"
-#include "util/io.h"
-#include "command/builtin.h"
-#include "job.h"
-#include "ground.h"
-#include "parse.h"
-#include "path.h"
+#include "all.h"
namespace ov4
{
diff --git a/include/ground.h b/include/ground.h
index d57f085..a1985eb 100644
--- a/include/ground.h
+++ b/include/ground.h
@@ -13,6 +13,9 @@
namespace ov4
{
+extern pid_t shell_pgid;
+extern int tty_fd;
+
void waitfg(pid_t pid);
void do_bgfg(char **argv);
diff --git a/include/handler.h b/include/handler.h
index 225fc93..100c548 100644
--- a/include/handler.h
+++ b/include/handler.h
@@ -1,7 +1,5 @@
#pragma once
-#include "global.h"
-
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
@@ -12,20 +10,25 @@
#include <sys/wait.h>
#include <errno.h>
-#include "util/io.h"
-#include "job.h"
+#include "all.h"
namespace ov4
{
typedef void handler_t(int);
+extern sigset_t
+ block_sig_TTOU,
+ block_job,
+ block_io;
+
void signal_init();
handler_t *Signal(int signum, handler_t *handler);
void sigchld_handler(int sig);
void sigint_handler(int sig);
void sigtstp_handler(int sig);
void sigquit_handler(int sig);
+
int block_all(sigset_t *prev);
int block_handler(sigset_t *prev);