From c5c528a7ea701534b4e5d5590e46f69f2f893f43 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Thu, 6 Nov 2014 09:36:51 -0500 Subject: os: document that users of Fd should keep f alive Fixes issue 9046. LGTM=r R=r CC=golang-codereviews https://codereview.appspot.com/162680043 --- src/os/file_plan9.go | 3 ++- src/os/file_unix.go | 1 + src/os/file_windows.go | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) (limited to 'src/os') diff --git a/src/os/file_plan9.go b/src/os/file_plan9.go index 5efc2a4f1..132594eed 100644 --- a/src/os/file_plan9.go +++ b/src/os/file_plan9.go @@ -25,7 +25,8 @@ type file struct { dirinfo *dirInfo // nil unless directory being read } -// Fd returns the integer Unix file descriptor referencing the open file. +// Fd returns the integer Plan 9 file descriptor referencing the open file. +// The file descriptor is valid only until f.Close is called or f is garbage collected. func (f *File) Fd() uintptr { if f == nil { return ^(uintptr(0)) diff --git a/src/os/file_unix.go b/src/os/file_unix.go index f59d563e6..ff4fc7d12 100644 --- a/src/os/file_unix.go +++ b/src/os/file_unix.go @@ -29,6 +29,7 @@ type file struct { } // Fd returns the integer Unix file descriptor referencing the open file. +// The file descriptor is valid only until f.Close is called or f is garbage collected. func (f *File) Fd() uintptr { if f == nil { return ^(uintptr(0)) diff --git a/src/os/file_windows.go b/src/os/file_windows.go index 3b5519390..2a90a5055 100644 --- a/src/os/file_windows.go +++ b/src/os/file_windows.go @@ -36,6 +36,7 @@ type file struct { } // Fd returns the Windows handle referencing the open file. +// The handle is valid only until f.Close is called or f is garbage collected. func (file *File) Fd() uintptr { if file == nil { return uintptr(syscall.InvalidHandle) -- cgit v1.2.1