diff --git a/.gitignore b/.gitignore index 752f26d..ebcab6e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ *.css dist/ +distribusi test diff --git a/distribusi.go b/distribusi.go index 52b94e4..edc5c1a 100644 --- a/distribusi.go +++ b/distribusi.go @@ -216,12 +216,32 @@ Example: logrus.Debugf("selecting %s as distribusi root", root) - if err := distribusify(c, root, ignore); err != nil { - logrus.Fatal(err) - } + ch := make(chan error, 2) + go func() { + if err := distribusify(c, root, ignore); err != nil { + ch <- err + return + } + + ch <- nil + return + }() if c.Bool("serve") { - if err := serveHTTP(root); err != nil { + go func() { + if err := serveHTTP(root); err != nil { + ch <- err + return + } + + ch <- nil + return + }() + } + + for i := 1; i <= 2; i++ { + err := <-ch + if err != nil { logrus.Fatal(err) } }