diff --git a/packer/rpc/muxconn.go b/packer/rpc/muxconn.go index ea7b8487e..e7cde415e 100644 --- a/packer/rpc/muxconn.go +++ b/packer/rpc/muxconn.go @@ -288,11 +288,14 @@ func (m *MuxConn) loop() { data := make([]byte, length) n := 0 for n < int(length) { - if n2, err := m.rwc.Read(data); err != nil { + if n2, err := m.rwc.Read(data[n:]); err != nil { log.Printf("[ERR] Error reading data: %s", err) return } else { n += n2 + if n < int(length) { + log.Printf("[TRACE] %p: Stream %d read %d/%d bytes", m, id, n, length) + } } } @@ -447,7 +450,9 @@ func (m *MuxConn) write(from muxPacketFrom, id uint32, dataType muxPacketType, p var n2 int n2, err = m.rwc.Write(p) n += n2 - log.Printf("[TRACE] %p: Stream %d (%s) write %d/%d bytes", m, id, from, n, len(p)) + if n < len(p) { + log.Printf("[TRACE] %p: Stream %d (%s) write %d/%d bytes", m, id, from, n, len(p)) + } if err != nil { log.Printf("[ERR] %p: Stream %d (%s) write error: %s", m, id, from, err) break