• Tobias Klauser's avatar
    internal/poll: use correct fcntl implementations · bbd25d26
    Tobias Klauser authored
    Use the libc fcntl (via syscall.fcntl) on aix and solaris like it is
    already done for darwin.
    
    For the syscall-based fcntl implementation use FcntlSyscall from
    internal/syscall/unix in order to get fcntl64 on 32-bit Linux
    systems.
    
    On aix, fcntl with F_DUPFD_CLOEXEC is not supported. Thus, defined
    F_DUPFD_CLOEXEC = 0 in the syscall package and check its value before
    calling fcntl(fd, syscall.F_DUPFD_CLOEXEC, 0).
    
    On js/wasm, fcntl is not supported thus let its implementation return
    ENOSYS directly.
    
    Updates #36211
    
    Change-Id: I96a2ea79e5c4eed2fefd94d0aefd72c940825682
    Reviewed-on: https://go-review.googlesource.com/c/go/+/212278
    Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
    bbd25d26
fcntl_syscall.go 484 Bytes