* bsd_helper.cc (tunable_params): Add kern.ipc.shm_allow_removed as
bool parameter. * cygserver.conf: Add a description for the kern.ipc.shm_allow_removed parameter. * sysv_shm.cc (shminit): Set shm_allow_removed variable according to kern.ipc.shm_allow_removed setting.
This commit is contained in:
parent
5c8426d50e
commit
8f14a11301
@ -1,3 +1,12 @@
|
|||||||
|
2007-11-05 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* bsd_helper.cc (tunable_params): Add kern.ipc.shm_allow_removed as
|
||||||
|
bool parameter.
|
||||||
|
* cygserver.conf: Add a description for the kern.ipc.shm_allow_removed
|
||||||
|
parameter.
|
||||||
|
* sysv_shm.cc (shminit): Set shm_allow_removed variable according to
|
||||||
|
kern.ipc.shm_allow_removed setting.
|
||||||
|
|
||||||
2007-08-02 Corinna Vinschen <corinna@vinschen.de>
|
2007-08-02 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* smallprint.c: Remove.
|
* smallprint.c: Remove.
|
||||||
|
@ -582,6 +582,7 @@ static tun_struct tunable_params[] =
|
|||||||
//{ "kern.ipc.shmmin", TUN_INT, {0}, {1}, {32767}, default_tun_check},
|
//{ "kern.ipc.shmmin", TUN_INT, {0}, {1}, {32767}, default_tun_check},
|
||||||
{ "kern.ipc.shmmni", TUN_INT, {0}, {1}, {32767}, default_tun_check},
|
{ "kern.ipc.shmmni", TUN_INT, {0}, {1}, {32767}, default_tun_check},
|
||||||
{ "kern.ipc.shmseg", TUN_INT, {0}, {1}, {32767}, default_tun_check},
|
{ "kern.ipc.shmseg", TUN_INT, {0}, {1}, {32767}, default_tun_check},
|
||||||
|
{ "kern.ipc.shm_allow_removed", TUN_BOOL, {TUN_UNDEF}, {TUN_FALSE}, {TUN_TRUE}, default_tun_check},
|
||||||
//{ "kern.ipc.shm_use_phys", TUN_INT, {0}, {1}, {32767}, default_tun_check},
|
//{ "kern.ipc.shm_use_phys", TUN_INT, {0}, {1}, {32767}, default_tun_check},
|
||||||
{ NULL, TUN_NULL, {0}, {0}, {0}, NULL}
|
{ NULL, TUN_NULL, {0}, {0}, {0}, NULL}
|
||||||
};
|
};
|
||||||
|
@ -139,3 +139,9 @@
|
|||||||
# kern.ipc.shmseg: Maximum number of shared memory segments per process.
|
# kern.ipc.shmseg: Maximum number of shared memory segments per process.
|
||||||
# Default: 128, Min: 1, Max: 32767
|
# Default: 128, Min: 1, Max: 32767
|
||||||
#kern.ipc.shmseg 128
|
#kern.ipc.shmseg 128
|
||||||
|
|
||||||
|
# kern.ipc.shm_allow_removed: Determines whether a process is allowed to
|
||||||
|
# attach to a shared memory segment (using the shmat call) after a successful
|
||||||
|
# call to shmctl(IPC_RMID). This is a Linux-specific, and therefore
|
||||||
|
# non-portable feature. Use with care. Default is "no".
|
||||||
|
#kern.ipc.shm_allow_removed no
|
||||||
|
@ -952,6 +952,7 @@ void
|
|||||||
shminit(void)
|
shminit(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
tun_bool_t shm_ar;
|
||||||
|
|
||||||
TUNABLE_INT_FETCH("kern.ipc.shmmaxpgs", &shminfo.shmall);
|
TUNABLE_INT_FETCH("kern.ipc.shmmaxpgs", &shminfo.shmall);
|
||||||
for (i = PAGE_SIZE; i > 0; i--) {
|
for (i = PAGE_SIZE; i > 0; i--) {
|
||||||
@ -962,8 +963,9 @@ shminit(void)
|
|||||||
TUNABLE_INT_FETCH("kern.ipc.shmmin", &shminfo.shmmin);
|
TUNABLE_INT_FETCH("kern.ipc.shmmin", &shminfo.shmmin);
|
||||||
TUNABLE_INT_FETCH("kern.ipc.shmmni", &shminfo.shmmni);
|
TUNABLE_INT_FETCH("kern.ipc.shmmni", &shminfo.shmmni);
|
||||||
TUNABLE_INT_FETCH("kern.ipc.shmseg", &shminfo.shmseg);
|
TUNABLE_INT_FETCH("kern.ipc.shmseg", &shminfo.shmseg);
|
||||||
TUNABLE_INT_FETCH("kern.ipc.shm_use_phys", &shm_use_phys);
|
TUNABLE_BOOL_FETCH("kern.ipc.shm_allow_removed", &shm_ar);
|
||||||
|
if (shm_ar == TUN_TRUE)
|
||||||
|
shm_allow_removed = 1;
|
||||||
shmalloced = shminfo.shmmni;
|
shmalloced = shminfo.shmmni;
|
||||||
shmsegs = (struct shmid_ds *) sys_malloc(shmalloced * sizeof(shmsegs[0]), M_SHM, M_WAITOK);
|
shmsegs = (struct shmid_ds *) sys_malloc(shmalloced * sizeof(shmsegs[0]), M_SHM, M_WAITOK);
|
||||||
if (shmsegs == NULL)
|
if (shmsegs == NULL)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user