diff options
author | alfred <alfred@FreeBSD.org> | 2002-03-27 21:36:18 +0000 |
---|---|---|
committer | alfred <alfred@FreeBSD.org> | 2002-03-27 21:36:18 +0000 |
commit | c513408927799beb8e88e8b08ae677bd46e77762 (patch) | |
tree | d0767f02bd164a185d51f517305b003af562e955 /sys/compat/svr4/svr4_misc.c | |
parent | 706e613c585af652438c7e21c1741947752de3b8 (diff) | |
download | FreeBSD-src-c513408927799beb8e88e8b08ae677bd46e77762.zip FreeBSD-src-c513408927799beb8e88e8b08ae677bd46e77762.tar.gz |
Make the reference counting of 'struct pargs' SMP safe.
There is still some locations where the PROC lock should be held
in order to prevent inconsistent views from outside (like the
proc->p_fd fix for kern/vfs_syscalls.c:checkdirs()) that can be
fixed later.
Submitted by: Jonathan Mini <mini@haikugeek.com>
Diffstat (limited to 'sys/compat/svr4/svr4_misc.c')
-rw-r--r-- | sys/compat/svr4/svr4_misc.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/compat/svr4/svr4_misc.c b/sys/compat/svr4/svr4_misc.c index 33c679a..3780fd0 100644 --- a/sys/compat/svr4/svr4_misc.c +++ b/sys/compat/svr4/svr4_misc.c @@ -1330,8 +1330,7 @@ loop: /* * Remove unused arguments */ - if (q->p_args && --q->p_args->ar_ref == 0) - FREE(q->p_args, M_PARGS); + pargs_drop(q->p_args); PROC_UNLOCK(q); /* |