error messaging works OK

This commit is contained in:
Miek Gieben 2011-01-27 20:05:17 +01:00
parent 841d815c88
commit 44c00e1b57
2 changed files with 8 additions and 6 deletions

View File

@ -118,10 +118,14 @@ forever:
case <-signal.Incoming:
println("Signal received, stopping")
ch <- true
<-ch
cht <- true
<-cht
break forever
case <-cht:
// last message from tcp channel
case <-ch:
// last message from udp channel
}
}
close(cht)
close(ch)
}

View File

@ -85,13 +85,12 @@ func (res *Server) NewResponder(h Responder, stop chan bool) {
case <-stop:
stop <- true
listener.Close()
close(stop)
break foreverTCP
case s := <-tch:
if s.err != nil {
// always fatal??
stop <- false
println(s.err.String())
close(stop)
} else {
go h.ResponderTCP(s.tcp, s.msg)
}
@ -107,13 +106,12 @@ func (res *Server) NewResponder(h Responder, stop chan bool) {
select {
case <-stop:
stop <- true
close(stop)
break foreverUDP
case s := <-uch:
if s.err != nil {
//continue
stop <- false
println(s.err.String())
close(stop)
} else {
go h.ResponderUDP(s.udp, s.addr, s.msg)
}