summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>1996-05-31 08:04:12 +0000
committerPeter Wemm <peter@FreeBSD.org>1996-05-31 08:04:12 +0000
commit32e3836bbead76fe97457fcbe355cf30756a881c (patch)
tree3aa354281e943b5f880b2143f1798837b543e65b
parent49e0e08d6d745a04d7aeae56096fbc5e60baf8b0 (diff)
Notes
-rw-r--r--sys/kern/kern_exec.c8
-rw-r--r--sys/kern/kern_sysctl.c25
-rw-r--r--sys/kern/uipc_socket.c13
-rw-r--r--sys/kern/uipc_socket2.c5
4 files changed, 42 insertions, 9 deletions
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c
index 2b1287528ff95..b8b0f0ab0109d 100644
--- a/sys/kern/kern_exec.c
+++ b/sys/kern/kern_exec.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: kern_exec.c,v 1.21.4.2 1996/02/22 19:20:47 peter Exp $
+ * $Id: kern_exec.c,v 1.21.4.3 1996/04/08 01:28:09 davidg Exp $
*/
#include <sys/param.h>
@@ -52,6 +52,12 @@ int *exec_copyout_strings __P((struct image_params *));
static int exec_check_permissions(struct image_params *);
/*
+ * Exported to userland via sysctl..
+ */
+int exec_ps_strings = PS_STRINGS;
+int exec_usrstack = USRSTACK;
+
+/*
* execsw_set is constructed for us by the linker. Each of the items
* is a pointer to a `const struct execsw', hence the double pointer here.
*/
diff --git a/sys/kern/kern_sysctl.c b/sys/kern/kern_sysctl.c
index e0b93423aab30..d1109e22d8b42 100644
--- a/sys/kern/kern_sysctl.c
+++ b/sys/kern/kern_sysctl.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)kern_sysctl.c 8.4 (Berkeley) 4/14/94
- * $Id: kern_sysctl.c,v 1.25.4.3 1996/02/22 19:22:30 peter Exp $
+ * $Id: kern_sysctl.c,v 1.25.4.4 1996/05/30 01:24:41 davidg Exp $
*/
/*
@@ -178,6 +178,11 @@ char kernelname[MAXPATHLEN] = "/kernel"; /* XXX bloat */
extern int vfs_update_wakeup;
extern int vfs_update_interval;
extern int osreldate;
+extern int exec_ps_strings;
+extern int exec_usrstack;
+extern int somaxconn;
+extern u_long sb_max;
+extern u_long sb_efficiency;
/*
* kernel related system variables.
@@ -192,7 +197,7 @@ kern_sysctl(name, namelen, oldp, oldlenp, newp, newlen, p)
size_t newlen;
struct proc *p;
{
- int error, level, inthostid;
+ int error, level, inthostid, intsb_max, intsb_efficiency;
dev_t ndumpdev;
/* all sysctl names at this level are terminal */
@@ -305,6 +310,22 @@ kern_sysctl(name, namelen, oldp, oldlenp, newp, newlen, p)
error = setdumpdev(ndumpdev);
}
return error;
+ case KERN_SOMAXCONN:
+ return(sysctl_int(oldp, oldlenp, newp, newlen, &somaxconn));
+ case KERN_MAXSOCKBUF:
+ intsb_max = sb_max; /* XXX assumes sizeof long <= sizeof int */
+ error = sysctl_int(oldp, oldlenp, newp, newlen, &intsb_max);
+ sb_max = intsb_max;
+ return (error);
+ case KERN_PS_STRINGS:
+ return(sysctl_int(oldp, oldlenp, newp, newlen, &exec_ps_strings));
+ case KERN_USRSTACK:
+ return(sysctl_int(oldp, oldlenp, newp, newlen, &exec_usrstack));
+ case KERN_SOCKBUF_WASTE:
+ intsb_efficiency = sb_efficiency; /* XXX assumes sizeof long <= sizeof int */
+ error = sysctl_int(oldp, oldlenp, newp, newlen, &intsb_efficiency);
+ sb_efficiency = intsb_efficiency;
+ return (error);
default:
return (EOPNOTSUPP);
}
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c
index dfbd37939b6ae..297f816eb2561 100644
--- a/sys/kern/uipc_socket.c
+++ b/sys/kern/uipc_socket.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)uipc_socket.c 8.3 (Berkeley) 4/15/94
- * $Id: uipc_socket.c,v 1.11 1995/08/25 20:27:46 bde Exp $
+ * $Id: uipc_socket.c,v 1.10.4.1 1995/09/12 08:29:56 davidg Exp $
*/
#include <sys/param.h>
@@ -49,6 +49,11 @@
#include <sys/signalvar.h>
/*
+ * Exported to userland via sysctl
+ */
+int somaxconn = SOMAXCONN;
+
+/*
* Socket operation routines.
* These routines are called by the routines in
* sys_socket.c or from a system process, and
@@ -125,9 +130,9 @@ solisten(so, backlog)
}
if (so->so_q == 0)
so->so_options |= SO_ACCEPTCONN;
- if (backlog < 0)
- backlog = 0;
- so->so_qlimit = min(backlog, SOMAXCONN);
+ if (backlog < 0 || backlog > somaxconn)
+ backlog = somaxconn;
+ so->so_qlimit = backlog;
splx(s);
return (0);
}
diff --git a/sys/kern/uipc_socket2.c b/sys/kern/uipc_socket2.c
index 2a6351f418da6..614fe78c009f5 100644
--- a/sys/kern/uipc_socket2.c
+++ b/sys/kern/uipc_socket2.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)uipc_socket2.c 8.1 (Berkeley) 6/10/93
- * $Id: uipc_socket2.c,v 1.5 1995/05/30 08:06:22 rgrimes Exp $
+ * $Id: uipc_socket2.c,v 1.5.4.1 1996/02/16 19:04:52 davidg Exp $
*/
#include <sys/param.h>
@@ -56,9 +56,10 @@ char netio[] = "netio";
char netcon[] = "netcon";
char netcls[] = "netcls";
+/* these two are sysctl visible */
u_long sb_max = SB_MAX; /* patchable */
-static u_long sb_efficiency = 8; /* parameter for sbreserve() */
+u_long sb_efficiency = 8; /* parameter for sbreserve() */
/*
* Procedures to manipulate state flags of socket