Environment variables WIP, fix waiting scheduling issues + CE cancel proc
All checks were successful
Build documentation / build-and-deploy (push) Successful in 3m24s

This commit is contained in:
2026-03-17 00:01:15 +01:00
parent 1b1e1e4954
commit b1648a146a
11 changed files with 91 additions and 54 deletions

View File

@@ -537,14 +537,7 @@ DEFINE_SYSCALL (sys_get_procgroup) {
return SYSRESULT (-ST_NOT_FOUND);
spin_lock (&target_proc->lock, &fp);
if (target_proc->state == PROC_DEAD) {
spin_unlock (&target_proc->lock, fp);
return SYSRESULT (-ST_NOT_FOUND);
}
int pgid = target_proc->procgroup->pgid;
spin_unlock (&target_proc->lock, fp);
return SYSRESULT (pgid);
@@ -681,7 +674,7 @@ DEFINE_SYSCALL (sys_wait_for_pid) {
spin_lock (&wait_proc->lock, &fp);
if (wait_proc->state == PROC_DEAD) {
if (wait_proc->dead) {
spin_unlock (&wait_proc->lock, fp);
return SYSRESULT (-ST_NOT_FOUND);
}
@@ -694,7 +687,6 @@ DEFINE_SYSCALL (sys_wait_for_pid) {
}
/* int kill (int pid) */
DEFINE_SYSCALL (sys_kill) {
uint64_t fp;
@@ -705,15 +697,6 @@ DEFINE_SYSCALL (sys_kill) {
if (target_proc == NULL)
return SYSRESULT (-ST_NOT_FOUND);
spin_lock (&target_proc->lock, &fp);
if (target_proc->state == PROC_DEAD) {
spin_unlock (&target_proc->lock, fp);
return SYSRESULT (-ST_NOT_FOUND);
}
spin_unlock (&target_proc->lock, fp);
proc_kill (target_proc, rctx);
return ST_OK;