From 5630e21f131603c4a5be63fb248005c553409503 Mon Sep 17 00:00:00 2001 From: bluhm <> Date: Wed, 25 Oct 2017 10:42:51 +0000 Subject: [PATCH] Partially revert rev 1.457 of /etc/rc. The pipe introduced in sysctl_conf() spawns a subshell. This prevents that the new process limits affect the daemons started during boot. OK rpe@ halex@ --- src/etc/rc | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/etc/rc b/src/etc/rc index a0c1d732..3d4f219e 100644 --- a/src/etc/rc +++ b/src/etc/rc @@ -1,4 +1,4 @@ -# $OpenBSD: rc,v 1.519 2017/10/12 18:14:05 rpe Exp $ +# $OpenBSD: rc,v 1.520 2017/10/25 10:42:51 bluhm Exp $ # System startup script run by init on autoboot or after single-user. # Output and error are redirected to console by init, and the console is the @@ -49,16 +49,20 @@ update_limit() { # Apply sysctl.conf(5) settings. sysctl_conf() { - stripcom /etc/sysctl.conf | - while read _line; do - sysctl "$_line" + # do not use a pipe as limits would only be applied to the subshell + set -- $(stripcom /etc/sysctl.conf) + while [[ $# > 0 ]] ; do + sysctl "$1" - case $_line in + case "$1" in kern.maxproc=*) - update_limit -p maxproc;; + update_limit -p maxproc + ;; kern.maxfiles=*) - update_limit -n openfiles;; + update_limit -n openfiles + ;; esac + shift done }