summaryrefslogtreecommitdiff
path: root/Kernel/Process.h
diff options
context:
space:
mode:
authorAndreas Kling <awesomekling@gmail.com>2019-02-04 14:06:38 +0100
committerAndreas Kling <awesomekling@gmail.com>2019-02-04 14:06:38 +0100
commitd7307c31192311595670caee830b90cd1f0a38b2 (patch)
treeee675fe436a8ca30a7d63dd93d38020c67e79c76 /Kernel/Process.h
parentba6ffea03c295c6725d830c7d77a290891881466 (diff)
downloadserenity-d7307c31192311595670caee830b90cd1f0a38b2.zip
Kernel: Ignore SIGCHLD by default.
Also use an enum for the rather-confusing return value in dispatch_signal(). I will go through the rest of the signals and set them up with the appropriate default dispositions at some other point.
Diffstat (limited to 'Kernel/Process.h')
-rw-r--r--Kernel/Process.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/Kernel/Process.h b/Kernel/Process.h
index cd337184cb..ca4d68d689 100644
--- a/Kernel/Process.h
+++ b/Kernel/Process.h
@@ -31,6 +31,8 @@ struct CoolGlobals {
extern CoolGlobals* g_cool_globals;
#endif
+enum class ShouldUnblockProcess { No = 0, Yes };
+
struct SignalActionData {
LinearAddress handler_or_sigaction;
dword mask { 0 };
@@ -261,8 +263,9 @@ public:
size_t max_open_file_descriptors() const { return m_max_open_file_descriptors; }
void send_signal(byte signal, Process* sender);
- bool dispatch_one_pending_signal();
- bool dispatch_signal(byte signal);
+
+ ShouldUnblockProcess dispatch_one_pending_signal();
+ ShouldUnblockProcess dispatch_signal(byte signal);
bool has_unmasked_pending_signals() const;
void terminate_due_to_signal(byte signal);
@@ -296,6 +299,7 @@ private:
void push_value_on_stack(dword);
int alloc_fd();
+ void set_default_signal_dispositions();
RetainPtr<PageDirectory> m_page_directory;