From 2a1194e974be5325488669f8abbdd93d9fe7779b Mon Sep 17 00:00:00 2001 From: decentral1se Date: Fri, 4 Feb 2022 19:27:50 +0100 Subject: [PATCH] feat: run web server first Closes https://git.vvvvvvaria.org/decentral1se/distribusi-go/issues/8 --- .gitignore | 1 + distribusi.go | 28 ++++++++++++++++++++++++---- 2 files changed, 25 insertions(+), 4 deletions(-) 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) } }