]> Cypherpunks repositories - gostls13.git/commitdiff
os: fix build for Plan 9
authorFazlul Shahriar <fshahriar@gmail.com>
Tue, 5 Jul 2011 06:01:29 +0000 (16:01 +1000)
committerAlex Brainman <alex.brainman@gmail.com>
Tue, 5 Jul 2011 06:01:29 +0000 (16:01 +1000)
R=golang-dev, alex.brainman
CC=golang-dev
https://golang.org/cl/4657074

src/pkg/os/file_plan9.go
src/pkg/os/file_unix.go

index b0c42d14d76949918dbd6a4a049b4a15f6d66a93..03792191ecc30b873922cdf2cf4a8a58836ccb30 100644 (file)
@@ -9,6 +9,32 @@ import (
        "syscall"
 )
 
+// File represents an open file descriptor.
+type File struct {
+       fd      int
+       name    string
+       dirinfo *dirInfo // nil unless directory being read
+       nepipe  int      // number of consecutive EPIPE in Write
+}
+
+// Fd returns the integer Unix file descriptor referencing the open file.
+func (file *File) Fd() int {
+       if file == nil {
+               return -1
+       }
+       return file.fd
+}
+
+// NewFile returns a new File with the given file descriptor and name.
+func NewFile(fd int, name string) *File {
+       if fd < 0 {
+               return nil
+       }
+       f := &File{fd: fd, name: name}
+       runtime.SetFinalizer(f, (*File).Close)
+       return f
+}
+
 // Auxiliary information if the File describes a directory
 type dirInfo struct {
        buf  [syscall.STATMAX]byte // buffer for directory I/O
index bda6a1ed338fca8e64e7b13eb69d25f56caf041c..301c2f473fb80781238eea0999a0ee24f4118de7 100644 (file)
@@ -6,7 +6,6 @@ package os
 
 import (
        "runtime"
-       "sync"
        "syscall"
 )
 
@@ -14,9 +13,8 @@ import (
 type File struct {
        fd      int
        name    string
-       dirinfo *dirInfo   // nil unless directory being read
-       nepipe  int        // number of consecutive EPIPE in Write
-       l       sync.Mutex // used to implement windows pread/pwrite
+       dirinfo *dirInfo // nil unless directory being read
+       nepipe  int      // number of consecutive EPIPE in Write
 }
 
 // Fd returns the integer Unix file descriptor referencing the open file.