summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikhail Osipov <mike.osipov@gmail.com>2020-02-25 01:41:54 +0300
committerMikhail Osipov <mike.osipov@gmail.com>2020-02-25 01:41:58 +0300
commit35cb8cf039e3bab81d15d586ea8bb6f571d841fd (patch)
treec7b75e79b16b1bb704083d34df4784807a05ac9f
parentc6b3202b8f72e1c8d8108a66ad5c7e950753b067 (diff)
[server/tunnel] check EOF
TODO: replace queue.IoCopy with WriteTo/ReadFrom
-rw-r--r--pkg/server/tunnel.go6
1 files changed, 4 insertions, 2 deletions
diff --git a/pkg/server/tunnel.go b/pkg/server/tunnel.go
index f29a2f3..49f684e 100644
--- a/pkg/server/tunnel.go
+++ b/pkg/server/tunnel.go
@@ -1,7 +1,9 @@
package server
import (
+ "errors"
"fmt"
+ "io"
"log"
"sort"
"strings"
@@ -161,7 +163,7 @@ func (s *stream) channel(c socket.Channel, rq, wq queue.Q) {
watch := func(q queue.Q, f func(q queue.Q) error) {
defer s.wg.Done()
- if err := f(q); err != nil {
+ if err := f(q); err != nil && !errors.Is(err, io.EOF) {
log.Println(s.t, s, err)
}
}
@@ -185,7 +187,7 @@ func (s *stream) pipe(m module.M, p module.Pipe, rq, wq queue.Q) {
go func() {
defer s.wg.Done()
- if err := p(rq, wq); err != nil {
+ if err := p(rq, wq); err != nil && !errors.Is(err, io.EOF) {
log.Println(s.t, s, m, err)
}