summaryrefslogtreecommitdiffstats
path: root/sys/kern/imgact_binmisc.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/imgact_binmisc.c')
-rw-r--r--sys/kern/imgact_binmisc.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/sys/kern/imgact_binmisc.c b/sys/kern/imgact_binmisc.c
index d4fa40a..dd57717 100644
--- a/sys/kern/imgact_binmisc.c
+++ b/sys/kern/imgact_binmisc.c
@@ -308,14 +308,14 @@ imgact_binmisc_disable_entry(char *name)
{
imgact_binmisc_entry_t *ibe;
- sx_slock(&interp_list_sx);
+ sx_xlock(&interp_list_sx);
if ((ibe = imgact_binmisc_find_entry(name)) == NULL) {
- sx_sunlock(&interp_list_sx);
+ sx_xunlock(&interp_list_sx);
return (ENOENT);
}
- atomic_clear_32(&ibe->ibe_flags, IBF_ENABLED);
- sx_sunlock(&interp_list_sx);
+ ibe->ibe_flags &= ~IBF_ENABLED;
+ sx_xunlock(&interp_list_sx);
return (0);
}
@@ -329,14 +329,14 @@ imgact_binmisc_enable_entry(char *name)
{
imgact_binmisc_entry_t *ibe;
- sx_slock(&interp_list_sx);
+ sx_xlock(&interp_list_sx);
if ((ibe = imgact_binmisc_find_entry(name)) == NULL) {
- sx_sunlock(&interp_list_sx);
+ sx_xunlock(&interp_list_sx);
return (ENOENT);
}
- atomic_set_32(&ibe->ibe_flags, IBF_ENABLED);
- sx_sunlock(&interp_list_sx);
+ ibe->ibe_flags |= IBF_ENABLED;
+ sx_xunlock(&interp_list_sx);
return (0);
}
OpenPOWER on IntegriCloud