diff options
Diffstat (limited to 'pkg/server/queue')
| -rw-r--r-- | pkg/server/queue/queue.go | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/pkg/server/queue/queue.go b/pkg/server/queue/queue.go index f0c1fc9..1478c07 100644 --- a/pkg/server/queue/queue.go +++ b/pkg/server/queue/queue.go @@ -55,13 +55,15 @@ func (r *reader) WriteTo(w io.Writer) (int64, error) { } if len(r.b) > 0 { - if _, err := w.Write(r.b); err != nil { + if n, err := w.Write(r.b); err != nil { + r.b = r.b[n:] return 0, err } } for b := range r.q { - if _, err := w.Write(b); err != nil { + if n, err := w.Write(b); err != nil { + r.b = b[n:] return 0, err } } @@ -91,13 +93,8 @@ func (w *writer) Write(p []byte) (int, error) { } func IoCopy(r io.Reader, w io.Writer) error { - if _, err := io.Copy(w, r); err != nil { - if err != io.EOF { - return err - } - } - - return nil + _, err := io.Copy(w, r) + return err } func Copy(rq, wq Q) error { |
