diff options
author | Frans Kaashoek <[email protected]> | 2022-08-11 07:23:17 -0400 |
---|---|---|
committer | Frans Kaashoek <[email protected]> | 2022-08-11 07:23:17 -0400 |
commit | 975f3b31d3fac2c271df3107263df6ae454a98be (patch) | |
tree | 2bdd49745154445f12404aa7b2424ed5d86a5c13 /kernel/proc.c | |
parent | 4087a6e7fc773ba4eb217dfc196dfe1eee84b25d (diff) | |
download | xv6-labs-975f3b31d3fac2c271df3107263df6ae454a98be.tar.gz xv6-labs-975f3b31d3fac2c271df3107263df6ae454a98be.tar.bz2 xv6-labs-975f3b31d3fac2c271df3107263df6ae454a98be.zip |
Clean up using killed()
Diffstat (limited to 'kernel/proc.c')
-rw-r--r-- | kernel/proc.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/kernel/proc.c b/kernel/proc.c index 221f0f8..24680b6 100644 --- a/kernel/proc.c +++ b/kernel/proc.c @@ -422,7 +422,7 @@ wait(uint64 addr) } // No point waiting if we don't have any children. - if(!havekids || __sync_add_and_fetch(&p->killed, 0)){ + if(!havekids || killed(p)){ release(&wait_lock); return -1; } @@ -601,6 +601,12 @@ kill(int pid) return -1; } +int +killed(struct proc *p) +{ + return __sync_add_and_fetch(&p->killed, 0); +} + // Copy to either a user address, or kernel address, // depending on usr_dst. // Returns 0 on success, -1 on error. |