return err
}
+ // Check the socket path before the daemon writes a file, so that a data
+ // directory with a long path stays empty.
+ socket := filepath.Join(dir, socketFileName)
+ err = checkSocketPath(socket)
+ if err != nil {
+ return err
+ }
+
config, err := loadConfig(dir)
if err != nil {
return err
err = errors.Join(err, memory.Close())
}()
- listener, err := listenSocket(filepath.Join(dir, socketFileName))
+ listener, err := listenSocket(socket)
if err != nil {
return err
}