diff options
Diffstat (limited to 'internal/kobject/event.go')
| -rw-r--r-- | internal/kobject/event.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/internal/kobject/event.go b/internal/kobject/event.go index 33cb91b8..38728599 100644 --- a/internal/kobject/event.go +++ b/internal/kobject/event.go @@ -2,6 +2,7 @@ package kobject import ( "errors" + "maps" "strconv" "strings" "unsafe" @@ -28,6 +29,22 @@ type Event struct { Subsystem string `json:"subsystem"` } +// Clone returns a copy of e. +func (e *Event) Clone() Event { + v := *e + v.Env = maps.Clone(e.Env) + return v +} + +// makeColdboot allocates a new [Object] from e in [StateColdboot]. +func (e *Event) makeColdboot() *Object { + return &Object{ + State: StateColdboot, + DevPath: e.DevPath, + Subsystem: e.Subsystem, + } +} + // Populate populates e with the contents of a [uevent.Message]. // // The ACTION and DEVPATH environment variables are ignored and assumed to be |
