reservation: isolate asynchronous initialization errors

Use a goroutine-local result for event dispatch so observer errors
remain independent and initialization outcomes stay deterministic.
This commit is contained in:
Slyghtning 2026-08-11 11:31:55 +02:00
parent 806c1f9356
commit 2989ceee42
No known key found for this signature in database
GPG key ID: F82D456EA023C9BF

View file

@ -131,9 +131,11 @@ func (m *Manager) newReservation(ctx context.Context, currentHeight uint32,
// Send the init event to the state machine.
go func() {
err = reservationFSM.SendEvent(ctx, OnServerRequest, initContext)
if err != nil {
log.Errorf("Error sending init event: %v", err)
sendErr := reservationFSM.SendEvent(
ctx, OnServerRequest, initContext,
)
if sendErr != nil {
log.Errorf("Error sending init event: %v", sendErr)
}
}()