From dbb23739b0173bf36222b8c3460a25e69ae8383d Mon Sep 17 00:00:00 2001 From: NickHackman Date: Fri, 4 Feb 2022 11:37:29 -0600 Subject: [PATCH] service(MacOS): launch only once --- Library/Homebrew/service.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Library/Homebrew/service.rb b/Library/Homebrew/service.rb index 205ac4085c..1fba85547d 100644 --- a/Library/Homebrew/service.rb +++ b/Library/Homebrew/service.rb @@ -112,6 +112,18 @@ module Homebrew end end + sig { params(value: T.nilable(T::Boolean)).returns(T.nilable(T::Boolean)) } + def launch_only_once(value = nil) + case T.unsafe(value) + when nil + @launch_only_once + when true, false + @launch_only_once = value + else + raise TypeError, "Service#launch_only_once expects a Boolean" + end + end + sig { params(value: T.nilable(Integer)).returns(T.nilable(Integer)) } def restart_delay(value = nil) case T.unsafe(value) @@ -291,6 +303,7 @@ module Homebrew } base[:KeepAlive] = @keep_alive if @keep_alive == true + base[:LaunchOnlyOnce] = @launch_only_once if @launch_only_once == false base[:LegacyTimers] = @macos_legacy_timers if @macos_legacy_timers == true base[:TimeOut] = @restart_delay if @restart_delay.present? base[:ProcessType] = @process_type.to_s.capitalize if @process_type.present?