aboutsummaryrefslogtreecommitdiffhomepage
path: root/container/executable.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2025-09-29 02:33:10 +0900
committerOphestra <cat@gensokyo.uk>2025-09-29 06:11:47 +0900
commit46cd3a28c83e93b5d66c52d06a8366c11910d5c0 (patch)
tree6e25c5078b5cd9de78b7a6c9b253f1132358812b /container/executable.go
parentad1bc6794f0053c3e63eab408a0d530d53e8b51c (diff)
container: remove global msg
This frees all container instances of side effects. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'container/executable.go')
-rw-r--r--container/executable.go9
1 files changed, 4 insertions, 5 deletions
diff --git a/container/executable.go b/container/executable.go
index d19d56f5..9b6d4f66 100644
--- a/container/executable.go
+++ b/container/executable.go
@@ -1,7 +1,6 @@
package container
import (
- "log"
"os"
"sync"
)
@@ -11,16 +10,16 @@ var (
executableOnce sync.Once
)
-func copyExecutable() {
+func copyExecutable(msg Msg) {
if name, err := os.Executable(); err != nil {
msg.BeforeExit()
- log.Fatalf("cannot read executable path: %v", err)
+ msg.GetLogger().Fatalf("cannot read executable path: %v", err)
} else {
executable = name
}
}
-func MustExecutable() string {
- executableOnce.Do(copyExecutable)
+func MustExecutable(msg Msg) string {
+ executableOnce.Do(func() { copyExecutable(msg) })
return executable
}