From 43eeae70abe6b10be6414a4de825fbeba78ee790 Mon Sep 17 00:00:00 2001 From: Nedyalko Dyakov Date: Wed, 29 Oct 2025 16:19:04 +0200 Subject: [PATCH] fix unsafe test --- internal/pool/buffer_size_test.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/internal/pool/buffer_size_test.go b/internal/pool/buffer_size_test.go index bffe495c..525e96db 100644 --- a/internal/pool/buffer_size_test.go +++ b/internal/pool/buffer_size_test.go @@ -3,6 +3,7 @@ package pool_test import ( "bufio" "context" + "sync/atomic" "unsafe" . "github.com/bsm/ginkgo/v2" @@ -129,9 +130,10 @@ var _ = Describe("Buffer Size Configuration", func() { // cause runtime panics or incorrect memory access due to invalid pointer dereferencing. func getWriterBufSizeUnsafe(cn *pool.Conn) int { cnPtr := (*struct { - id uint64 // First field in pool.Conn - usedAt int64 // Second field (atomic) - netConnAtomic interface{} // atomic.Value (interface{} has same size) + id uint64 // First field in pool.Conn + usedAt atomic.Int64 // Second field (atomic) + lastPutAt atomic.Int64 // Third field (atomic) + netConnAtomic interface{} // atomic.Value (interface{} has same size) rd *proto.Reader bw *bufio.Writer wr *proto.Writer @@ -155,9 +157,10 @@ func getWriterBufSizeUnsafe(cn *pool.Conn) int { func getReaderBufSizeUnsafe(cn *pool.Conn) int { cnPtr := (*struct { - id uint64 // First field in pool.Conn - usedAt int64 // Second field (atomic) - netConnAtomic interface{} // atomic.Value (interface{} has same size) + id uint64 // First field in pool.Conn + usedAt atomic.Int64 // Second field (atomic) + lastPutAt atomic.Int64 // Third field (atomic) + netConnAtomic interface{} // atomic.Value (interface{} has same size) rd *proto.Reader bw *bufio.Writer wr *proto.Writer