fix: restore sessions after 9P listener is ready
ConsumeFeed dials the 9P socket. Moving session restore to after the listener starts ensures the socket exists when feed consumers connect.
This commit is contained in:
parent
dcd119c853
commit
dd0021fd9a
|
|
@ -41,7 +41,12 @@ func NewRoot(cfg Config) *Tree {
|
|||
helpSpec = &spec
|
||||
tree := virtfs.BuildTree(spec)
|
||||
|
||||
// Restore persisted sessions from disk.
|
||||
return tree
|
||||
}
|
||||
|
||||
// RestoreSessions restores persisted sessions from disk.
|
||||
// Must be called after the 9P listener is ready.
|
||||
func RestoreSessions() {
|
||||
for _, r := range session.RestoreAllSessions() {
|
||||
for _, ra := range r.Agents {
|
||||
if ag := r.Session.FindAgent(ra.ID); ag != nil {
|
||||
|
|
@ -50,6 +55,4 @@ func NewRoot(cfg Config) *Tree {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
return tree
|
||||
}
|
||||
|
|
|
|||
|
|
@ -108,6 +108,9 @@ func runServer(sockPath string) {
|
|||
|
||||
fmt.Printf("olliesrv listening on %s\n", sockPath)
|
||||
|
||||
// Restore sessions now that the 9P listener is ready.
|
||||
fs.RestoreSessions()
|
||||
|
||||
var tcpListener net.Listener
|
||||
if *tcpAddr != "" {
|
||||
tcpListener, err = net.Listen("tcp", *tcpAddr)
|
||||
|
|
|
|||
Loading…
Reference in New Issue