package dnsfilter

import (
	"sync/atomic"
)

func updateMax(valuePtr *int64, maxPtr *int64) {
	for {
		current := atomic.LoadInt64(valuePtr)
		max := atomic.LoadInt64(maxPtr)
		if current <= max {
			break
		}
		swapped := atomic.CompareAndSwapInt64(maxPtr, max, current)
		if swapped {
			break
		}
		// swapping failed because value has changed after reading, try again
	}
}