* The kernel now remembers the signal that killed a thread (if it was killed).
* As suggested by Korli, the signal is now encoded in the "reason" field of wait_for_child(). * waitpid() now sets the status passed in so that the signal can be read out (but it still doesn't do it's full job). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17338 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -30,10 +30,6 @@ extern spinlock team_spinlock;
|
||||
#define RELEASE_TEAM_LOCK() release_spinlock(&team_spinlock)
|
||||
|
||||
enum additional_thread_state {
|
||||
// THREAD_STATE_READY = 0, // ready to run
|
||||
// THREAD_STATE_RUNNING, // running right now somewhere
|
||||
// THREAD_STATE_WAITING, // blocked on something
|
||||
// THREAD_STATE_SUSPENDED, // suspended, not in queue
|
||||
THREAD_STATE_FREE_ON_RESCHED = 7, // free the thread structure upon reschedule
|
||||
// THREAD_STATE_BIRTH // thread is being created
|
||||
};
|
||||
@@ -55,7 +51,8 @@ struct death_entry {
|
||||
team_id team;
|
||||
thread_id thread;
|
||||
status_t status;
|
||||
uint32 reason;
|
||||
uint16 reason;
|
||||
uint16 signal;
|
||||
};
|
||||
|
||||
struct process_session {
|
||||
@@ -174,7 +171,8 @@ struct thread {
|
||||
struct {
|
||||
sem_id sem;
|
||||
status_t status;
|
||||
uint32 reason;
|
||||
uint16 reason;
|
||||
uint16 signal;
|
||||
struct list waiters;
|
||||
} exit;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user