summaryrefslogtreecommitdiff
path: root/src/lib/syscall/file_linux.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2008-12-03 14:21:28 -0800
committerRuss Cox <rsc@golang.org>2008-12-03 14:21:28 -0800
commitb592d8aa993770b52cf48dba588ed6baa8364040 (patch)
treec5608a8146ee938d88da7942dd5bb4a17dc904ea /src/lib/syscall/file_linux.go
parentba6aabb92da924bfdcc9ae541c370bfee48185f8 (diff)
downloadgolang-b592d8aa993770b52cf48dba588ed6baa8364040.tar.gz
preparation for exec.
* syscall: add syscall.RawSyscall, which doesn't use sys.entersyscall/sys.exitsyscall add syscall.dup2 add syscall.BytePtrPtr add syscall.Rusage, RusagePtr add syscall.F_GETFD, F_SETFD, FD_CLOEXEC * runtime: clean up, correct signal handling. can now survive (continue running after) a signal. R=r DELTA=394 (286 added, 51 deleted, 57 changed) OCL=20351 CL=20369
Diffstat (limited to 'src/lib/syscall/file_linux.go')
-rw-r--r--src/lib/syscall/file_linux.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lib/syscall/file_linux.go b/src/lib/syscall/file_linux.go
index af7728a6b..3fa2588af 100644
--- a/src/lib/syscall/file_linux.go
+++ b/src/lib/syscall/file_linux.go
@@ -95,3 +95,9 @@ export func mkdir(name string, perm int64) (ret int64, errno int64) {
r1, r2, err := Syscall(SYS_MKDIR, BytePtr(&namebuf[0]), perm, 0);
return r1, err;
}
+
+export func dup2(fd1, fd2 int64) (ret int64, errno int64) {
+ r1, r2, err := Syscall(SYS_DUP2, fd1, fd2, 0);
+ return r1, err;
+}
+