summaryrefslogtreecommitdiff
path: root/vendor/go.opentelemetry.io/otel/internal/global/handler.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/go.opentelemetry.io/otel/internal/global/handler.go')
-rw-r--r--vendor/go.opentelemetry.io/otel/internal/global/handler.go7
1 files changed, 3 insertions, 4 deletions
diff --git a/vendor/go.opentelemetry.io/otel/internal/global/handler.go b/vendor/go.opentelemetry.io/otel/internal/global/handler.go
index 3dcd1caae..5e9b83047 100644
--- a/vendor/go.opentelemetry.io/otel/internal/global/handler.go
+++ b/vendor/go.opentelemetry.io/otel/internal/global/handler.go
@@ -18,7 +18,6 @@ import (
"log"
"os"
"sync/atomic"
- "unsafe"
)
var (
@@ -42,7 +41,7 @@ type ErrorHandler interface {
}
type ErrDelegator struct {
- delegate unsafe.Pointer
+ delegate atomic.Pointer[ErrorHandler]
}
func (d *ErrDelegator) Handle(err error) {
@@ -50,12 +49,12 @@ func (d *ErrDelegator) Handle(err error) {
}
func (d *ErrDelegator) getDelegate() ErrorHandler {
- return *(*ErrorHandler)(atomic.LoadPointer(&d.delegate))
+ return *d.delegate.Load()
}
// setDelegate sets the ErrorHandler delegate.
func (d *ErrDelegator) setDelegate(eh ErrorHandler) {
- atomic.StorePointer(&d.delegate, unsafe.Pointer(&eh))
+ d.delegate.Store(&eh)
}
func defaultErrorHandler() *ErrDelegator {