mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-02-18 23:12:15 +08:00
* 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>
|
||||
|
||||
* 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.shmmni", 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},
|
||||
{ NULL, TUN_NULL, {0}, {0}, {0}, NULL}
|
||||
};
|
||||
|
@ -139,3 +139,9 @@
|
||||
# kern.ipc.shmseg: Maximum number of shared memory segments per process.
|
||||
# Default: 128, Min: 1, Max: 32767
|
||||
#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)
|
||||
{
|
||||
int i;
|
||||
tun_bool_t shm_ar;
|
||||
|
||||
TUNABLE_INT_FETCH("kern.ipc.shmmaxpgs", &shminfo.shmall);
|
||||
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.shmmni", &shminfo.shmmni);
|
||||
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;
|
||||
shmsegs = (struct shmid_ds *) sys_malloc(shmalloced * sizeof(shmsegs[0]), M_SHM, M_WAITOK);
|
||||
if (shmsegs == NULL)
|
||||
|
Loading…
x
Reference in New Issue
Block a user