vendor/golang.org/x/sys/unix/syscall_unix.go
changeset 262 8d3354485fc3
parent 260 445e01aede7e
child 265 05c40b36d3b2
equal deleted inserted replaced
261:270cc4dda0c5 262:8d3354485fc3
    11 	"bytes"
    11 	"bytes"
    12 	"sort"
    12 	"sort"
    13 	"sync"
    13 	"sync"
    14 	"syscall"
    14 	"syscall"
    15 	"unsafe"
    15 	"unsafe"
    16 
       
    17 	"golang.org/x/sys/internal/unsafeheader"
       
    18 )
    16 )
    19 
    17 
    20 var (
    18 var (
    21 	Stdin  = 0
    19 	Stdin  = 0
    22 	Stdout = 1
    20 	Stdout = 1
   115 	if errno != nil {
   113 	if errno != nil {
   116 		return nil, errno
   114 		return nil, errno
   117 	}
   115 	}
   118 
   116 
   119 	// Use unsafe to convert addr into a []byte.
   117 	// Use unsafe to convert addr into a []byte.
   120 	var b []byte
   118 	b := unsafe.Slice((*byte)(unsafe.Pointer(addr)), length)
   121 	hdr := (*unsafeheader.Slice)(unsafe.Pointer(&b))
       
   122 	hdr.Data = unsafe.Pointer(addr)
       
   123 	hdr.Cap = length
       
   124 	hdr.Len = length
       
   125 
   119 
   126 	// Register mapping in m and return it.
   120 	// Register mapping in m and return it.
   127 	p := &b[cap(b)-1]
   121 	p := &b[cap(b)-1]
   128 	m.Lock()
   122 	m.Lock()
   129 	defer m.Unlock()
   123 	defer m.Unlock()