posix signals support, 1st pass
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1623 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -11,6 +11,7 @@ extern "C" {
|
||||
|
||||
#include <thread_types.h>
|
||||
#include <arch/thread.h>
|
||||
#include <signal.h>
|
||||
|
||||
// Uncomment the line below to compile the single-queue scheduler
|
||||
//#define NEW_SCHEDULER
|
||||
@@ -18,6 +19,10 @@ extern "C" {
|
||||
void resched(void);
|
||||
void start_scheduler(void);
|
||||
|
||||
#define BLOCKABLE_SIGS (~((1L << (SIGKILL - 1)) | (1L << (SIGSTOP - 1))))
|
||||
|
||||
void handle_signals(struct thread *t, int state);
|
||||
|
||||
void thread_enqueue(struct thread *t, struct thread_queue *q);
|
||||
struct thread *thread_lookat_queue(struct thread_queue *q);
|
||||
struct thread *thread_dequeue(struct thread_queue *q);
|
||||
@@ -45,9 +50,7 @@ int thread_kill_thread_nowait(thread_id id);
|
||||
#define thread_get_current_thread arch_thread_get_current_thread
|
||||
|
||||
struct thread *thread_get_thread_struct(thread_id id);
|
||||
#ifdef NEW_SCHEDULER
|
||||
struct thread *thread_get_thread_struct_locked(thread_id id);
|
||||
#endif /* NEW_SCHEDULER */
|
||||
|
||||
static thread_id thread_get_current_thread_id(void);
|
||||
static inline thread_id
|
||||
@@ -98,6 +101,8 @@ int user_setrlimit(int resource, const struct rlimit * rlp);
|
||||
int user_setenv(const char *name, const char *value, int overwrite);
|
||||
int user_getenv(const char *name, char **value);
|
||||
|
||||
int user_sigaction(int sig, const struct sigaction *act, struct sigaction *oact);
|
||||
|
||||
#if 1
|
||||
// XXX remove later
|
||||
int thread_test(void);
|
||||
|
||||
Reference in New Issue
Block a user