diff --git a/winsup/cygserver/ChangeLog b/winsup/cygserver/ChangeLog index cfcf9de25..8a0803781 100644 --- a/winsup/cygserver/ChangeLog +++ b/winsup/cygserver/ChangeLog @@ -1,3 +1,11 @@ +2003-12-16 Corinna Vinschen + + * bsd_helper.cc (tunable_params): Add entries for kern.ipc.msgmnb and + kern.ipc.msgtql. Raise max value for kern.ipc.msgseg to 65535. + * cygserver.conf: Add kern.ipc.msgmnb and kern.ipc.msgtql. + * sysv_msg.cc (msginit): Add TUNABLE_INT_FETCH call for + kern.ipc.msgmnb and kern.ipc.msgtql. + 2003-11-26 Corinna Vinschen * cygserver.cc (main): Move call to ipcinit() up before installing diff --git a/winsup/cygserver/bsd_helper.cc b/winsup/cygserver/bsd_helper.cc index 42afd548f..0fa59c1d3 100644 --- a/winsup/cygserver/bsd_helper.cc +++ b/winsup/cygserver/bsd_helper.cc @@ -565,9 +565,11 @@ static tun_struct tunable_params[] = { "kern.log.level", TUN_INT, {0}, {1}, {7}, default_tun_check}, /* MSG */ - { "kern.ipc.msgseg", TUN_INT, {0}, {256}, {32767}, default_tun_check}, + { "kern.ipc.msgseg", TUN_INT, {0}, {256}, {65535}, default_tun_check}, { "kern.ipc.msgssz", TUN_INT, {0}, {8}, {1024}, default_tun_check}, + { "kern.ipc.msgmnb", TUN_INT, {0}, {1}, {65535}, default_tun_check}, { "kern.ipc.msgmni", TUN_INT, {0}, {1}, {1024}, default_tun_check}, + { "kern.ipc.msgtql", TUN_INT, {0}, {1}, {1024}, default_tun_check}, /* SEM */ //{ "kern.ipc.semmap", TUN_INT, {0}, {1}, {1024}, default_tun_check}, diff --git a/winsup/cygserver/cygserver.conf b/winsup/cygserver/cygserver.conf index b7db6bbcf..1369e1100 100644 --- a/winsup/cygserver/cygserver.conf +++ b/winsup/cygserver/cygserver.conf @@ -66,17 +66,25 @@ # it doesn't make sense if it is less than 8 or greater than about 256. # kern.ipc.msgseg: Maximum no. of message queue segments hold concurrently. -# Default: 2048, Min: 256, Max: 32767 +# Default: 2048, Min: 256, Max: 65535 #kern.ipc.msgseg 2048 # kern.ipc.msgssz: Size of segment in bytes. Must be a power of 2 value. # Default: 8, Min: 8, Max: 1024 #kern.ipc.msgssz 8 +# kern.ipc.msgmnb: Maximum no. of bytes in a single message queue. +# Default: 2048, Min: 1, Max: 65535 +#kern.ipc.msgmnb 2048 + # kern.ipc.msgmni: Maximum no. of message queue identifiers hold concurrently. # Default: 40, Min: 1, Max: 1024 #kern.ipc.msgmni 40 +# kern.ipc.msgtql: Maximum no. of messages hold concurrently. +# Default: 40, Min: 1, Max: 1024 +#kern.ipc.msgtql 40 + # XSI semaphore parameters # kern.ipc.semmni: Maximum no. of semaphore identifiers hold concurrently. diff --git a/winsup/cygserver/sysv_msg.cc b/winsup/cygserver/sysv_msg.cc index 9c1049c97..90ea95325 100644 --- a/winsup/cygserver/sysv_msg.cc +++ b/winsup/cygserver/sysv_msg.cc @@ -156,7 +156,9 @@ msginit() TUNABLE_INT_FETCH("kern.ipc.msgseg", &msginfo.msgseg); TUNABLE_INT_FETCH("kern.ipc.msgssz", &msginfo.msgssz); msginfo.msgmax = msginfo.msgseg * msginfo.msgssz; + TUNABLE_INT_FETCH("kern.ipc.msgmnb", &msginfo.msgmnb); TUNABLE_INT_FETCH("kern.ipc.msgmni", &msginfo.msgmni); + TUNABLE_INT_FETCH("kern.ipc.msgtql", &msginfo.msgtql); msgpool = (char *) sys_malloc(msginfo.msgmax, M_MSG, M_WAITOK); if (msgpool == NULL)