• Ian Lance Taylor's avatar
    unix: change Dup,Dup2,Dup3 to use Syscall, not RawSyscall · 5829c748
    Ian Lance Taylor authored
    This avoids hanging when a Go program uses a FUSE filesystem and the
    dup system call has to close a file descriptor.  When dup uses
    RawSyscall then the goroutine calling dup will occupy a scheduler slot
    (a p structure) during the call, and may block waiting for some other
    goroutine to respond to the close call on the FUSE filesystem.
    Changing to Syscall avoids the problem.  This makes Dup a tiny bit
    slower but is quite unlikely to make a difference for any real
    programs.
    
    Update golang/go#10202.
    
    Change-Id: I590c5c9a04e0a1281a85dc553c7592fa83949ac7
    Reviewed-on: https://go-review.googlesource.com/8056Reviewed-by: 's avatarRob Pike <r@golang.org>
    5829c748
Name
Last commit
Last update
plan9 Loading commit data...
unix Loading commit data...
windows Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTING.md Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README Loading commit data...
codereview.cfg Loading commit data...