go fd_writev_unix 源码

  • 2022-07-15
  • 浏览 (859)

golang fd_writev_unix 代码

文件路径:/src/internal/poll/fd_writev_unix.go

// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build dragonfly || freebsd || linux || netbsd || openbsd

package poll

import (
	"syscall"
	"unsafe"
)

func writev(fd int, iovecs []syscall.Iovec) (uintptr, error) {
	var (
		r uintptr
		e syscall.Errno
	)
	for {
		r, _, e = syscall.Syscall(syscall.SYS_WRITEV, uintptr(fd), uintptr(unsafe.Pointer(&iovecs[0])), uintptr(len(iovecs)))
		if e != syscall.EINTR {
			break
		}
	}
	if e != 0 {
		return r, e
	}
	return r, nil
}

相关信息

go 源码目录

相关文章

go copy_file_range_linux 源码

go errno_unix 源码

go errno_windows 源码

go error_linux_test 源码

go error_stub_test 源码

go error_test 源码

go export_linux_test 源码

go export_posix_test 源码

go export_test 源码

go export_windows_test 源码

0  赞