initialize server channel earlier for config file

Mentioned in #36.
This commit is contained in:
Gokcehan 2017-02-11 13:42:16 +03:00
parent c55c4bf254
commit b790c53838
2 changed files with 13 additions and 14 deletions

14
app.go
View File

@ -3,7 +3,6 @@ package main
import (
"fmt"
"log"
"net"
"os"
"os/exec"
"strconv"
@ -55,20 +54,9 @@ func waitKey() error {
// This is the main event loop of the application. There are two channels to
// read expressions from client and server. Reading and evaluation are done on
// separate goroutines.
func (app *app) handleInp() {
func (app *app) handleInp(serverChan <-chan expr) {
clientChan := app.ui.readExpr()
var serverChan <-chan expr
c, err := net.Dial("unix", gSocketPath)
if err != nil {
msg := fmt.Sprintf("connecting server: %s", err)
app.ui.message = msg
log.Printf(msg)
} else {
serverChan = readExpr(c)
}
for {
select {
case <-app.quit:

View File

@ -31,6 +31,17 @@ func client() {
app.ui.loadFile(app.nav)
var serverChan <-chan expr
c, err := net.Dial("unix", gSocketPath)
if err != nil {
msg := fmt.Sprintf("connecting server: %s", err)
app.ui.message = msg
log.Printf(msg)
} else {
serverChan = readExpr(c)
}
if err := app.nav.sync(); err != nil {
msg := fmt.Sprintf("sync: %s", err)
app.ui.message = msg
@ -61,7 +72,7 @@ func client() {
app.ui.draw(app.nav)
app.handleInp()
app.handleInp(serverChan)
}
func readExpr(c net.Conn) <-chan expr {