summaryrefslogtreecommitdiff
path: root/src/pkg/net/sock.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/pkg/net/sock.go')
-rw-r--r--src/pkg/net/sock.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/pkg/net/sock.go b/src/pkg/net/sock.go
index 5c47e4f77..eae7f3711 100644
--- a/src/pkg/net/sock.go
+++ b/src/pkg/net/sock.go
@@ -7,6 +7,7 @@
package net
import (
+ "io"
"os"
"reflect"
"syscall"
@@ -153,3 +154,14 @@ type UnknownSocketError struct {
func (e *UnknownSocketError) String() string {
return "unknown socket address type " + reflect.TypeOf(e.sa).String()
}
+
+type writerOnly struct {
+ io.Writer
+}
+
+// Fallback implementation of io.ReaderFrom's ReadFrom, when sendfile isn't
+// applicable.
+func genericReadFrom(w io.Writer, r io.Reader) (n int64, err os.Error) {
+ // Use wrapper to hide existing r.ReadFrom from io.Copy.
+ return io.Copy(writerOnly{w}, r)
+}