diff --git a/internal/app/seal.go b/internal/app/seal.go index 228be5c..155fafb 100644 --- a/internal/app/seal.go +++ b/internal/app/seal.go @@ -34,8 +34,8 @@ var posixUsername = regexp.MustCompilePOSIX("^[a-z_]([A-Za-z0-9_-]{0,31}|[A-Za-z type appSeal struct { // app unique ID string representation id string - // dbus proxy message buffer retriever - dbusMsg func(f func(msgbuf []string)) + // dump dbus proxy message buffer + dbusMsg func() // freedesktop application ID fid string diff --git a/internal/app/start.go b/internal/app/start.go index d0a0116..96198df 100644 --- a/internal/app/start.go +++ b/internal/app/start.go @@ -140,11 +140,7 @@ func (a *app) Run(ctx context.Context, rs *RunState) error { // print queued up dbus messages if a.seal.dbusMsg != nil { - a.seal.dbusMsg(func(msgbuf []string) { - for _, msg := range msgbuf { - fmsg.Println(msg) - } - }) + a.seal.dbusMsg() } // update store and revert app setup transaction diff --git a/internal/system/dbus.go b/internal/system/dbus.go index 886ba77..859fa02 100644 --- a/internal/system/dbus.go +++ b/internal/system/dbus.go @@ -23,7 +23,7 @@ func (sys *I) MustProxyDBus(sessionPath string, session *dbus.Config, systemPath } } -func (sys *I) ProxyDBus(session, system *dbus.Config, sessionPath, systemPath string) (func(f func(msgbuf []string)), error) { +func (sys *I) ProxyDBus(session, system *dbus.Config, sessionPath, systemPath string) (func(), error) { d := new(DBus) // used by waiting goroutine to notify process exit @@ -65,7 +65,7 @@ func (sys *I) ProxyDBus(session, system *dbus.Config, sessionPath, systemPath st // seal dbus proxy d.out = &scanToFmsg{msg: new(strings.Builder)} - return d.out.F, fmsg.WrapErrorSuffix(d.proxy.Seal(session, system), + return d.out.Dump, fmsg.WrapErrorSuffix(d.proxy.Seal(session, system), "cannot seal message bus proxy:") } @@ -195,8 +195,10 @@ func (s *scanToFmsg) write(p []byte, a int) (int, error) { } } -func (s *scanToFmsg) F(f func(msgbuf []string)) { +func (s *scanToFmsg) Dump() { s.mu.RLock() - f(s.msgbuf) + for _, msg := range s.msgbuf { + fmsg.Println(msg) + } s.mu.RUnlock() }