MFC r339818: rcorder(8):

Add support for /etc/rc.resume, so it calls
  "rcorder -k resume" and runs scripts containing "KEYWORD: resume"
  with single "resume" argument.

  Working example is the port sysutils/cpupdate that defines
  extra_commands="resume" to reload CPU microcode cleared
  by suspend/resume sequence.

  This change does nothing for a system having no scripts with
  KEYWORD: resume.

PR:			227866
Differential Revision:	https://reviews.freebsd.org/D15247
This commit is contained in:
Eugene Grosbein 2018-11-26 13:30:00 +00:00
parent f0103a3d51
commit 530d509906
4 changed files with 67 additions and 6 deletions

View File

@ -55,4 +55,22 @@ fi
/usr/bin/logger -t $subsystem resumed at `/bin/date +'%Y%m%d %H:%M:%S'`
/bin/sync && /bin/sync && /bin/sync
. /etc/rc.subr
load_rc_config
rcorder_opts="-k resume"
case ${local_startup} in
[Nn][Oo] | '') ;;
*) find_local_scripts_new ;;
esac
files=`rcorder ${rcorder_opts} /etc/rc.d/* ${local_rc} 2>/dev/null`
for _rc_elem in $files; do
debug "run_rc_script $_rc_elem resume"
run_rc_script $_rc_elem resume
done
exit 0

View File

@ -31,7 +31,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd September 10, 2016
.Dd October 27, 2018
.Dt RCORDER 8
.Os
.Sh NAME
@ -136,6 +136,23 @@ There must be at least one file with no dependencies in the set of
arguments passed to
.Nm
in order for it to find a starting place in the dependency ordering.
.Sh KEYWORDS
There are several
.Em KEYWORDs
in use:
.Bl -tag -width ".Cm shutdown" -offset indent
.It Cm firstboot, nojail, nojailvnet, nostart
Used by
.Xr rc 8 .
.It Cm resume
Used by
.Nm /etc/rc.resume
(see
.Xr acpiconf 8 )
.It Cm shutdown
Used by
.Xr rc.shutdown 8 .
.El
.Sh DIAGNOSTICS
The
.Nm
@ -156,7 +173,9 @@ A set of files has a circular dependency which was detected while
processing the stated file.
.El
.Sh SEE ALSO
.Xr rc 8
.Xr acpiconf 8 ,
.Xr rc 8 ,
.Xr rc.shutdown 8
.Sh HISTORY
The
.Nm

View File

@ -44,6 +44,7 @@
.Nm rc.d/
.Nm rc.firewall
.Nm rc.local
.Nm rc.resume
.Nm rc.shutdown
.Nm rc.subr
.Sh DESCRIPTION
@ -557,6 +558,7 @@ is unnecessary, but is often included.
.Xr kill 1 ,
.Xr rc.conf 5 ,
.Xr init 8 ,
.Xr rc.resume 8 ,
.Xr rc.subr 8 ,
.Xr rcorder 8 ,
.Xr reboot 8 ,

View File

@ -27,7 +27,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd September 22, 2015
.Dd October 27, 2018
.Dt ACPICONF 8
.Os
.Sh NAME
@ -72,13 +72,35 @@ If the
.Pa /etc/rc.suspend
and
.Pa /etc/rc.resume
scripts are executable, they will be run before and after entering
the given sleep state.
scripts are executable, they will be run by
.Xr devd 8
or
.Xr apmd 8
before and after entering the given sleep state.
.Pp
The
.Pa /etc/rc.resume
script uses the
.Xr rcorder 8
utility to call scripts in
.Pa /etc/rc.d/
and the
.Va $local_startup
directories that have a "resume" KEYWORD.
Called scripts are supplied with single "resume"
command line argument. See
.Xr rc.conf 5
for more information about
.Va $local_startup .
.El
.Sh SEE ALSO
.Xr acpi 4 ,
.Xr acpidump 8 ,
.Xr apm 8
.Xr apm 8 ,
.Xr apmd 8 ,
.Xr devd 8 ,
.Xr rc.conf 5 ,
.Xr rcorder 8
.Sh HISTORY
The
.Nm