summaryrefslogtreecommitdiffstats
path: root/sys/kern/uipc_sem.c
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2010-11-19 17:57:50 +0000
committerjhb <jhb@FreeBSD.org>2010-11-19 17:57:50 +0000
commita38574dd9cbdab512c286f7ffc4d7bb0f2d18d70 (patch)
tree074f9019bfcfd71c0db536968511e1e1a794e993 /sys/kern/uipc_sem.c
parent047d1e801b183801b51b7f4b31b5ebc6281f2aa3 (diff)
downloadFreeBSD-src-a38574dd9cbdab512c286f7ffc4d7bb0f2d18d70.zip
FreeBSD-src-a38574dd9cbdab512c286f7ffc4d7bb0f2d18d70.tar.gz
Set the POSIX semaphore capability when the semaphore module is enabled.
This is ignored in HEAD where semaphores are marked as always enabled in <unistd.h>. MFC after: 1 week
Diffstat (limited to 'sys/kern/uipc_sem.c')
-rw-r--r--sys/kern/uipc_sem.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/uipc_sem.c b/sys/kern/uipc_sem.c
index 0b8f132..5270078 100644
--- a/sys/kern/uipc_sem.c
+++ b/sys/kern/uipc_sem.c
@@ -949,6 +949,7 @@ ksem_module_init(void)
mtx_init(&ksem_count_lock, "ksem count", NULL, MTX_DEF);
sx_init(&ksem_dict_lock, "ksem dictionary");
ksem_dictionary = hashinit(1024, M_KSEM, &ksem_hash);
+ p31b_setcfg(CTL_P1003_1B_SEMAPHORES, 200112L);
p31b_setcfg(CTL_P1003_1B_SEM_NSEMS_MAX, SEM_MAX);
p31b_setcfg(CTL_P1003_1B_SEM_VALUE_MAX, SEM_VALUE_MAX);
@@ -972,6 +973,7 @@ ksem_module_destroy(void)
#endif
syscall_helper_unregister(ksem_syscalls);
+ p31b_setcfg(CTL_P1003_1B_SEMAPHORES, 0);
hashdestroy(ksem_dictionary, M_KSEM, ksem_hash);
sx_destroy(&ksem_dict_lock);
mtx_destroy(&ksem_count_lock);
OpenPOWER on IntegriCloud