Environment variables WIP, fix waiting scheduling issues + CE cancel proc
All checks were successful
Build documentation / build-and-deploy (push) Successful in 3m24s
All checks were successful
Build documentation / build-and-deploy (push) Successful in 3m24s
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user