[BACK]Return to fw_install.sh CVS log [TXT][DIR] Up to [local] / openbsd / fw_update

Diff for /openbsd/fw_update/fw_install.sh between version 1.5 and 1.6

version 1.5, 2021/10/14 02:26:31 version 1.6, 2021/10/14 02:39:43
Line 13 
Line 13 
         done          done
 }  }
   
   # do_as, unpriv, and unpriv2 are from install.sub
   
   # Run a command ($2+) as unprivileged user ($1).
   # Take extra care that after "cmd" no "user" processes exist.
   #
   # Optionally:
   #       - create "file" and chown it to "user"
   #       - after "cmd", chown "file" back to root
   #
   # Usage: do_as user [-f file] cmd
   do_as() {
           (( $# >= 2 )) || return
   
           local _file _rc _user=$1
           shift
   
           if [[ $1 == -f ]]; then
                   _file=$2
                   shift 2
           fi
   
           if [[ -n $_file ]]; then
                   >$_file
                   chown "$_user" "$_file"
           fi
   
           doas -u "$_user" "$@"
           _rc=$?
   
           while doas -u "$_user" kill -9 -1 2>/dev/null; do
                   echo "Processes still running for user $_user after: $@"
                   sleep 1
           done
   
           [[ -n $_file ]] && chown root "$_file"
   
           return $_rc
   }
   
   unpriv() {
           do_as _sndio "$@"
   }
   
   unpriv2() {
           do_as _file "$@"
   }
   
 set -A _KERNV -- $( scan_dmesg '/^OpenBSD \([1-9][0-9]*\.[0-9]\)\([^ ]*\) .*/ { s//\1 \2/p; q; }' )  set -A _KERNV -- $( scan_dmesg '/^OpenBSD \([1-9][0-9]*\.[0-9]\)\([^ ]*\) .*/ { s//\1 \2/p; q; }' )
 VNAME=${_KERNV[0]}  VNAME=${_KERNV[0]}
 OSDIR=$VNAME  OSDIR=$VNAME

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>