Ian Lance Taylor 5829c74886 unix: change Dup,Dup2,Dup3 to use Syscall, not RawSyscall
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/8056
Reviewed-by: Rob Pike <r@golang.org>
2015-03-26 17:59:35 +00:00
2014-12-09 22:46:33 +00:00
2014-12-08 10:44:52 +11:00
2015-03-18 17:04:21 +00:00
2015-02-20 05:00:49 +00:00
2012-03-17 15:20:58 +11:00
2014-08-08 14:33:53 -07:00

This repository holds supplemental Go packages for low-level interactions with the operating system.

To submit changes to this repository, see http://golang.org/doc/contribute.html.
Description
No description provided
Readme BSD-3-Clause 17 MiB
Languages
Go 85.8%
Assembly 12.3%
Shell 1.7%
C 0.1%