GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — netpoll/sys_sendmsg_linux.go at main · stop-coding/netpoll Expand file tree/ Copy pathsys_sendmsg_linux.goMore file actions 52 lines (48 loc) · 1.31 KB / Copy pathsys_sendmsg_linux.goFile metadata and controls52 lines (48 loc) · 1.31 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 // Copyright 2021 CloudWeGo Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package netpoll import ( "syscall" "unsafe" ) //func init() { // err := syscall.Setrlimit(8, &syscall.Rlimit{ // Cur: 0xffffffff, // Max: 0xffffffff, // }) // if err != nil { // panic(err) // } //} // sendmsg wraps the sendmsg system call. // Must len(iovs) >= len(vs) func sendmsg(fd int, bs [][]byte, ivs []syscall.Iovec, zerocopy bool) (n int, err error) { iovLen := iovecs(bs, ivs) if iovLen == 0 { return 0, nil } var msghdr = syscall.Msghdr{ Iov: &ivs[0], Iovlen: uint64(iovLen), } var flags uintptr if zerocopy { flags = MSG_ZEROCOPY } r, _, e := syscall.RawSyscall(syscall.SYS_SENDMSG, uintptr(fd), uintptr(unsafe.Pointer(&msghdr)), flags) if e != 0 { return int(r), syscall.Errno(e) } return int(r), nil } |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |