hysteria/app/redirect/getsockopt_linux.go
Haruue Icymoon 779e962d49
fix(redirect_tcp): client got reset under i386
it seems like syscall.Syscall6(SYS_SOCKETCALL, SYS_GETSOCKOPT, ...)
always failed with EFAULT.

so we call syscall.socketcall() instead.

close: #583
2023-03-15 00:21:27 +08:00

18 lines
344 B
Go

//go:build !386
// +build !386
package redirect
import (
"syscall"
"unsafe"
)
func getsockopt(s uintptr, level uintptr, name uintptr, val unsafe.Pointer, vallen *uint32) (err error) {
_, _, e := syscall.Syscall6(syscall.SYS_GETSOCKOPT, s, level, name, uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)
if e != 0 {
err = e
}
return
}