issue 1840/S6: take the SDK's process delete for the not-current mark, now that the process state has one
This commit is contained in:
@@ -448,17 +448,6 @@ func ReadKeeperConfig(path string) (KeeperConfig, error) {
|
||||
return c, nil
|
||||
}
|
||||
|
||||
// processStore is a process state on the bus as the keeper's Store. Delete is the SDK's when it has one; until
|
||||
// then a delete fails, named, and the not-current mark stays (said in the log), never silently.
|
||||
type processStore struct{ process.State }
|
||||
|
||||
func (s processStore) Delete(key string) error {
|
||||
if d, ok := any(s.State).(interface{ Delete(string) error }); ok {
|
||||
return d.Delete(key)
|
||||
}
|
||||
return fmt.Errorf("the SDK's process state cannot delete a key yet, so %s stays", key)
|
||||
}
|
||||
|
||||
// keeper is `pacman-tools keeper`: it reads its bus account and its config, watches the machine, connects and
|
||||
// runs until stopped. It refuses to start naming what is missing, and never logs a password.
|
||||
func keeper() int {
|
||||
@@ -519,7 +508,7 @@ func runKeeper(ctx context.Context, account process.Account, k *Keeper) error {
|
||||
if k.Node == "" {
|
||||
k.Node = account.Node
|
||||
}
|
||||
k.State = func(name string) Store { return processStore{conn.State(name)} }
|
||||
k.State = func(name string) Store { return conn.State(name) }
|
||||
k.Events = conn
|
||||
return k.Run(ctx)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user