diff --git a/hook.go b/hook.go index 813987e..20ac62e 100644 --- a/hook.go +++ b/hook.go @@ -83,7 +83,7 @@ func AddHookWithContext(ctx context.Context, name string, callback interface{}) func TriggerHook(name string, payload ...interface{}) { args := make([]reflect.Value, len(payload)) for i, arg := range payload { - args[i] = reflect.ValueOf(&arg).Elem() + args[i] = reflect.ValueOf(arg) } hookLocker.Lock() defer hookLocker.Unlock() diff --git a/hook_test.go b/hook_test.go new file mode 100644 index 0000000..4a568e4 --- /dev/null +++ b/hook_test.go @@ -0,0 +1,25 @@ +package engine + +import ( + "fmt" + "sync" + "testing" + "time" +) + +func TestAddHook(t *testing.T) { + t.Run(t.Name(), func(t *testing.T) { + var wg sync.WaitGroup + wg.Add(1) + go AddHook("test", func(a, b int) { + fmt.Printf("on test,%d,%d", a, b) + }) + go AddHook("done", wg.Done) + TriggerHook("test", 2, 10) + <-time.After(time.Millisecond * 100) + TriggerHook("test", 1, 12) + <-time.After(time.Millisecond * 100) + TriggerHook("done") + wg.Wait() + }) +} diff --git a/main.go b/main.go index 001aad8..92265ae 100644 --- a/main.go +++ b/main.go @@ -17,7 +17,7 @@ import ( . "github.com/logrusorgru/aurora" ) -const Version = "3.1.5" +const Version = "3.1.6" var ( config = &struct { diff --git a/util/stderr.go b/util/stderr.go index 71ee319..5990bb4 100644 --- a/util/stderr.go +++ b/util/stderr.go @@ -1,4 +1,4 @@ -// +build linux darwin +// +build linux,!arm64 darwin,!arm64 package util diff --git a/util/stderr_arm64.go b/util/stderr_arm64.go index 7cebb6e..b3ac18a 100644 --- a/util/stderr_arm64.go +++ b/util/stderr_arm64.go @@ -1,4 +1,4 @@ -// +build linux darwin +// +build linux,arm64 darwin,arm64 package util