Alex Jbanca 539236d791
fix: SetClosing no longer holds SubscriptionDetails lock across a potentially blocking channel send
- SetClosing(): send moved out of the s.Lock() critical section, performed via select/default to tolerate stalled receivers and concurrent CloseC that may have closed the channel.
- Closing channel: changed from unbuffered (make(chan bool)) to buffered size 1 (make(chan bool, 1)) in NewSubscription. Pairs with the s.Closed guard (single send per subscription), so the sender never parks.
2026-04-21 10:25:00 +03:00
..