struct proc remove dead field
All checks were successful
Build documentation / build-and-deploy (push) Successful in 2m52s

This commit is contained in:
2026-03-20 21:49:18 +01:00
parent 3f076abd51
commit 6278aadb2e
3 changed files with 1 additions and 14 deletions

View File

@@ -248,7 +248,7 @@ static struct proc* proc_find_sched (struct cpu* cpu) {
int state = proc->state; int state = proc->state;
if (!proc->dead && state == PROC_READY && !(proc->flags & PROC_KPROC)) { if (state == PROC_READY && !(proc->flags & PROC_KPROC)) {
spin_unlock (&proc->lock, fp); spin_unlock (&proc->lock, fp);
return proc; return proc;
} }
@@ -313,7 +313,6 @@ void proc_kill (struct proc* proc, struct reschedule_ctx* rctx) {
if (cpu->proc_current == proc) if (cpu->proc_current == proc)
cpu->proc_current = NULL; cpu->proc_current = NULL;
proc->dead = true;
rbtree_delete (&proc_tree, &proc->proc_tree_link); rbtree_delete (&proc_tree, &proc->proc_tree_link);
spin_unlock (&proc->lock, fp); spin_unlock (&proc->lock, fp);

View File

@@ -43,7 +43,6 @@ struct proc {
spin_lock_t lock; spin_lock_t lock;
struct cpu* cpu; struct cpu* cpu;
int state; int state;
bool dead;
uintptr_t uvaddr_argument; uintptr_t uvaddr_argument;
void* mail_recv_buffer; void* mail_recv_buffer;
size_t mail_recv_size; size_t mail_recv_size;

View File

@@ -762,8 +762,6 @@ DEFINE_SYSCALL (sys_get_exec_pid) {
/* wait_for_pid (int pid) */ /* wait_for_pid (int pid) */
DEFINE_SYSCALL (sys_wait_for_pid) { DEFINE_SYSCALL (sys_wait_for_pid) {
uint64_t fp;
int pid = (int)a1; int pid = (int)a1;
struct proc* wait_proc = proc_find_pid (pid); struct proc* wait_proc = proc_find_pid (pid);
@@ -771,15 +769,6 @@ DEFINE_SYSCALL (sys_wait_for_pid) {
if (wait_proc == NULL) if (wait_proc == NULL)
return SYSRESULT (-ST_NOT_FOUND); return SYSRESULT (-ST_NOT_FOUND);
spin_lock (&wait_proc->lock, &fp);
if (wait_proc->dead) {
spin_unlock (&wait_proc->lock, fp);
return SYSRESULT (-ST_NOT_FOUND);
}
spin_unlock (&wait_proc->lock, fp);
proc_wait_for (proc, rctx, wait_proc); proc_wait_for (proc, rctx, wait_proc);
return SYSRESULT (ST_OK); return SYSRESULT (ST_OK);