From owner-cvs-src@FreeBSD.ORG Thu Sep 15 13:16:07 2005 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D016816A422; Thu, 15 Sep 2005 13:16:07 +0000 (GMT) (envelope-from rse@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9B48943D45; Thu, 15 Sep 2005 13:16:07 +0000 (GMT) (envelope-from rse@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j8FDG76r081830; Thu, 15 Sep 2005 13:16:07 GMT (envelope-from rse@repoman.freebsd.org) Received: (from rse@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j8FDG71X081829; Thu, 15 Sep 2005 13:16:07 GMT (envelope-from rse) Message-Id: <200509151316.j8FDG71X081829@repoman.freebsd.org> From: "Ralf S. Engelschall" Date: Thu, 15 Sep 2005 13:16:07 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/kern init_main.c src/sbin/init init.8 init.c src/share/man/man5 rc.conf.5 X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Sep 2005 13:16:08 -0000 rse 2005-09-15 13:16:07 UTC FreeBSD src repository Modified files: sys/kern init_main.c sbin/init init.8 init.c share/man/man5 rc.conf.5 Log: Fix system shutdown timeout handling by again supporting longer running shutdown procedures (which have a duration of more than 120 seconds). We have two user-space affecting shutdown timeouts: a "soft" one in /etc/rc.shutdown and a "hard" one in init(8). The first one can be configured via /etc/rc.conf variable "rcshutdown_timeout" and defaults to 30 seconds. The second one was originally (in 1998) intended to be configured via sysctl(8) variable "kern.shutdown_timeout" and defaults to 120 seconds. Unfortunately, the "kern.shutdown_timeout" was declared "unused" in 1999 (as it obviously is actually not used within the kernel itself) and hence was intentionally but misleadingly removed in revision 1.107 from init_main.c. Kernel sysctl(8) variables are certainly a wrong way to control user-space processes in general, but in this particular case the sysctl(8) variable should have remained as it supports init(8), which isn't passed command line flags (which in turn could have been set via /etc/rc.conf), etc. As there is already a similar "kern.init_path" sysctl(8) variable which directly affects init(8), resurrect the init(8) shutdown timeout under sysctl(8) variable "kern.init_shutdown_timeout". But this time document it as being intentionally unused within the kernel and used by init(8). Also document it in the manpages init(8) and rc.conf(5). Reviewed by: phk MFC after: 2 weeks Revision Changes Path 1.48 +7 -1 src/sbin/init/init.8 1.61 +1 -1 src/sbin/init/init.c 1.264 +16 -1 src/share/man/man5/rc.conf.5 1.257 +11 -0 src/sys/kern/init_main.c