MOS Source Code
|
#include "mos/tasks/signal.h"
#include "mos/mm/slab.h"
#include "mos/mm/slab_autoinit.h"
#include "mos/platform/platform.h"
#include "mos/syslog/printk.h"
#include "mos/tasks/process.h"
#include "mos/tasks/schedule.h"
#include "mos/tasks/thread.h"
#include <errno.h>
#include <limits.h>
#include <mos/lib/structures/list.h>
#include <mos/lib/sync/spinlock.h>
#include <mos/tasks/signal_types.h>
#include <mos_stdlib.h>
#include <mos_string.h>
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) |
SLAB_AUTOINIT ("signal_pending", sigpending_slab, sigpending_t) | |
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_t *target, signal_t signal) |
Send a signal to a thread. | |
long | signal_send_to_process (process_t *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 void | do_signal_exit_to_user_prepare (platform_regs_t *regs, signal_t next_signal, const sigaction_t *action) |
void | signal_exit_to_user_prepare (platform_regs_t *regs) |
Prepare to exit to userspace. | |
void | signal_exit_to_user_prepare_syscall (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. | |
Variables | |
slab_t * | sigpending_slab = NULL |
Definition at line 21 of file signal.c.
Referenced by do_signal_exit_to_user_prepare().
Definition at line 31 of file signal.c.
Referenced by signal_on_returned().
Definition at line 41 of file signal.c.
Referenced by do_signal_exit_to_user_prepare(), signal_get_next_pending(), and signal_has_pending().
SLAB_AUTOINIT | ( | "signal_pending" | , |
sigpending_slab | , | ||
sigpending_t | ) |
Definition at line 53 of file signal.c.
Referenced by do_signal_exit_to_user_prepare().
Definition at line 59 of file signal.c.
Referenced by do_signal_exit_to_user_prepare(), and signal_get_next_pending().
Definition at line 68 of file signal.c.
Referenced by do_signal_exit_to_user_prepare().
Definition at line 73 of file signal.c.
Referenced by do_signal_exit_to_user_prepare(), signal_get_next_pending(), and signal_send_to_thread().
Definition at line 173 of file signal.c.
Referenced by signal_exit_to_user_prepare(), and signal_exit_to_user_prepare_syscall().
|
static |
Definition at line 200 of file signal.c.
Referenced by signal_exit_to_user_prepare(), and signal_exit_to_user_prepare_syscall().