On Mon, Feb 14, 2022 at 11:37:55AM +0100, Marc Espie wrote:
> - you don't need to call unlock_db. When the process dies, the fd dies with
> it, and the lock.

Makes sense.

it probably doesn't need the $SIG{TERM} handler if we don't need to
trigger the END block anymore either.

 
> - I've committed glue to PackageInfo.pm to make lock_db self-contained
> (it will pull BaseState in on an "as needed" basis, which also comes in
> handy for other locks prior to having a state)

Very nice!  Thanks!

Also, this change is OK afresh1@
 
> Index: fw_update.sh
> ===================================================================
> RCS file: /cvs/src/usr.sbin/fw_update/fw_update.sh,v
> retrieving revision 1.37
> diff -u -p -r1.37 fw_update.sh
> --- fw_update.sh      11 Feb 2022 00:46:58 -0000      1.37
> +++ fw_update.sh      14 Feb 2022 10:35:57 -0000
> @@ -206,13 +206,11 @@ lock_db() {
>       perl <<'EOL' |&
>               use v5.16;
>               use warnings;
> -             use OpenBSD::PackageInfo qw< lock_db unlock_db >;
> -             use OpenBSD::BaseState;
> +             use OpenBSD::PackageInfo qw< lock_db >;
>  
>               $|=1;
>  
> -             lock_db(0, 'OpenBSD::BaseState');
> -             END { unlock_db }
> +             lock_db(0);
>               $SIG{TERM} = sub { exit };
>       
>               say $$;

Reply via email to