Merge pull request #3011 from chengzhichao-xydt/codex/legacy-events-ok-assert

fix(agent): add ok check for LoadAndDelete type assertion
This commit is contained in:
Mauro 2026-06-05 19:12:22 +02:00 committed by GitHub
commit 71524183b6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -2,11 +2,13 @@ package agent
import ( import (
"context" "context"
"fmt"
"sync" "sync"
"sync/atomic" "sync/atomic"
"github.com/sipeed/picoclaw/pkg/bus" "github.com/sipeed/picoclaw/pkg/bus"
runtimeevents "github.com/sipeed/picoclaw/pkg/events" runtimeevents "github.com/sipeed/picoclaw/pkg/events"
"github.com/sipeed/picoclaw/pkg/logger"
) )
const defaultEventSubscriberBuffer = 16 const defaultEventSubscriberBuffer = 16
@ -88,7 +90,14 @@ func (al *AgentLoop) UnsubscribeEvents(id uint64) {
if !ok { if !ok {
return return
} }
sub := value.(legacyEventSubscription) sub, ok := value.(legacyEventSubscription)
if !ok {
logger.WarnCF("agent", "UnsubscribeEvents: unexpected type in subscription map", map[string]any{
"id": id,
"type": fmt.Sprintf("%T", value),
})
return
}
sub.cancel() sub.cancel()
if sub.sub != nil { if sub.sub != nil {
_ = sub.sub.Close() _ = sub.sub.Close()