MOS Source Code
Loading...
Searching...
No Matches
signal.cpp File Reference
#include "mos/tasks/signal.hpp"
#include "mos/platform/platform.hpp"
#include "mos/syslog/printk.hpp"
#include "mos/tasks/process.hpp"
#include "mos/tasks/schedule.hpp"
#include "mos/tasks/thread.hpp"
#include <errno.h>
#include <limits.h>
#include <mos/lib/structures/list.hpp>
#include <mos/lib/sync/spinlock.hpp>
#include <mos/syscall/number.h>
#include <mos/tasks/signal_types.h>
#include <mos_stdlib.hpp>
#include <mos_string.hpp>
Include dependency graph for signal.cpp:

Go to the source code of this file.

Functions

static int sigset_add (sigset_t *sigset, int sig)
static int sigset_del (sigset_t *sigset, int sig)
static int sigset_test (const sigset_t *sigset, int sig)
static void signal_do_coredump (signal_t signal)
static void signal_do_terminate (signal_t signal)
static void signal_do_ignore (signal_t signal)
static bool is_fatal_signal (signal_t signal)
long signal_send_to_thread (Thread *target, signal_t signal)
 Send a signal to a thread.
long signal_send_to_process (Process *target, signal_t signal)
 Send a signal to a process, an arbitrary thread will be chosen to receive the signal.
static signal_t signal_get_next_pending (void)
static ptr< platform_regs_tdo_signal_exit_to_user_prepare (platform_regs_t *regs, signal_t next_signal, const sigaction_t *action)
ptr< platform_regs_tsignal_exit_to_user_prepare (platform_regs_t *regs)
 Prepare to exit to userspace.
ptr< platform_regs_tsignal_exit_to_user_prepare (platform_regs_t *regs, reg_t syscall_nr, reg_t syscall_ret)
 Prepare to exit to userspace after a syscall.
void signal_on_returned (sigreturn_data_t *data)
 Return from a signal handler.
bool signal_has_pending (void)
 Return true if there's a pending signal.

Function Documentation

◆ sigset_add()

int sigset_add ( sigset_t * sigset,
int sig )
static

Definition at line 20 of file signal.cpp.

Referenced by do_signal_exit_to_user_prepare().

◆ sigset_del()

int sigset_del ( sigset_t * sigset,
int sig )
static

Definition at line 30 of file signal.cpp.

Referenced by signal_on_returned().

◆ sigset_test()

int sigset_test ( const sigset_t * sigset,
int sig )
static

◆ signal_do_coredump()

void signal_do_coredump ( signal_t signal)
static

Definition at line 49 of file signal.cpp.

Referenced by do_signal_exit_to_user_prepare().

Here is the call graph for this function:

◆ signal_do_terminate()

void signal_do_terminate ( signal_t signal)
static

Definition at line 55 of file signal.cpp.

Referenced by do_signal_exit_to_user_prepare(), and signal_get_next_pending().

Here is the call graph for this function:

◆ signal_do_ignore()

void signal_do_ignore ( signal_t signal)
static

Definition at line 64 of file signal.cpp.

Referenced by do_signal_exit_to_user_prepare().

◆ is_fatal_signal()

bool is_fatal_signal ( signal_t signal)
static

◆ signal_get_next_pending()

signal_t signal_get_next_pending ( void )
static

Definition at line 169 of file signal.cpp.

Referenced by signal_exit_to_user_prepare(), and signal_exit_to_user_prepare().

Here is the call graph for this function:

◆ do_signal_exit_to_user_prepare()

ptr< platform_regs_t > do_signal_exit_to_user_prepare ( platform_regs_t * regs,
signal_t next_signal,
const sigaction_t * action )
static

Definition at line 196 of file signal.cpp.

Referenced by signal_exit_to_user_prepare(), and signal_exit_to_user_prepare().

Here is the call graph for this function: