diff options
author | green <green@FreeBSD.org> | 2000-07-23 22:19:49 +0000 |
---|---|---|
committer | green <green@FreeBSD.org> | 2000-07-23 22:19:49 +0000 |
commit | 3dd3bc9aca4a3fd5c51e4beaf6937ab597969b8b (patch) | |
tree | 70f23cb1a3197c23d57c2b07c08298a1115e85b7 | |
parent | 173f0f34e5e78191a409f8aa394a0c4f7b06d9e9 (diff) | |
download | FreeBSD-src-3dd3bc9aca4a3fd5c51e4beaf6937ab597969b8b.zip FreeBSD-src-3dd3bc9aca4a3fd5c51e4beaf6937ab597969b8b.tar.gz |
Using an atomic operation here won't help if nobody else uses them (for
this). Use the simple_lock() on v_interlock like elsewhere.
-rw-r--r-- | sys/kern/imgact_elf.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c index 52b89e5..fd185f0 100644 --- a/sys/kern/imgact_elf.c +++ b/sys/kern/imgact_elf.c @@ -61,7 +61,6 @@ #include <vm/vm_object.h> #include <vm/vm_extern.h> -#include <machine/atomic.h> #include <machine/elf.h> #include <machine/md_var.h> @@ -478,7 +477,9 @@ exec_elf_imgact(struct image_params *imgp) * a context switch. Better safe than sorry; I really don't want * the file to change while it's being loaded. */ - atomic_set_long(&imgp->vp->v_flag, VTEXT); + simple_lock(&imgp->vp->v_interlock); + imgp->vp->v_flag |= VTEXT; + simple_unlock(&imgp->vp->v_interlock); if ((error = exec_extract_strings(imgp)) != 0) goto fail; |