diff options
author | Ondřej Surý <ondrej@sury.org> | 2011-02-14 13:23:51 +0100 |
---|---|---|
committer | Ondřej Surý <ondrej@sury.org> | 2011-02-14 13:23:51 +0100 |
commit | 758ff64c69e34965f8af5b2d6ffd65e8d7ab2150 (patch) | |
tree | 6d6b34f8c678862fe9b56c945a7b63f68502c245 /src/pkg/os | |
parent | 3e45412327a2654a77944249962b3652e6142299 (diff) | |
download | golang-758ff64c69e34965f8af5b2d6ffd65e8d7ab2150.tar.gz |
Imported Upstream version 2011-02-01.1upstream/2011-02-01.1
Diffstat (limited to 'src/pkg/os')
-rw-r--r-- | src/pkg/os/error.go | 3 | ||||
-rw-r--r-- | src/pkg/os/exec.go | 8 | ||||
-rw-r--r-- | src/pkg/os/inotify/inotify_linux.go | 6 |
3 files changed, 11 insertions, 6 deletions
diff --git a/src/pkg/os/error.go b/src/pkg/os/error.go index 8cdf53254..4738d1a42 100644 --- a/src/pkg/os/error.go +++ b/src/pkg/os/error.go @@ -37,7 +37,7 @@ func (e Errno) Temporary() bool { } func (e Errno) Timeout() bool { - return e == Errno(syscall.EAGAIN) || e == Errno(syscall.EWOULDBLOCK) + return e == Errno(syscall.EAGAIN) || e == Errno(syscall.EWOULDBLOCK) || e == Errno(syscall.ETIMEDOUT) } // Commonly known Unix errors. @@ -79,6 +79,7 @@ var ( ECONNREFUSED Error = Errno(syscall.ECONNREFUSED) ENAMETOOLONG Error = Errno(syscall.ENAMETOOLONG) EAFNOSUPPORT Error = Errno(syscall.EAFNOSUPPORT) + ETIMEDOUT Error = Errno(syscall.ETIMEDOUT) ) // PathError records an error and the operation and file path that caused it. diff --git a/src/pkg/os/exec.go b/src/pkg/os/exec.go index 501ebc270..100d984d1 100644 --- a/src/pkg/os/exec.go +++ b/src/pkg/os/exec.go @@ -67,10 +67,10 @@ type Waitmsg struct { // Options for Wait. const ( - WNOHANG = syscall.WNOHANG // Don't wait if no process has exited. - WSTOPPED = syscall.WSTOPPED // If set, status of stopped subprocesses is also reported. - WUNTRACED = WSTOPPED - WRUSAGE = 1 << 20 // Record resource usage. + WNOHANG = syscall.WNOHANG // Don't wait if no process has exited. + WSTOPPED = syscall.WSTOPPED // If set, status of stopped subprocesses is also reported. + WUNTRACED = syscall.WUNTRACED // Usually an alias for WSTOPPED. + WRUSAGE = 1 << 20 // Record resource usage. ) // WRUSAGE must not be too high a bit, to avoid clashing with Linux's diff --git a/src/pkg/os/inotify/inotify_linux.go b/src/pkg/os/inotify/inotify_linux.go index 1e74c7fbc..9d7a07442 100644 --- a/src/pkg/os/inotify/inotify_linux.go +++ b/src/pkg/os/inotify/inotify_linux.go @@ -153,7 +153,11 @@ func (w *Watcher) readEvents() { for { n, errno = syscall.Read(w.fd, buf[0:]) // See if there is a message on the "done" channel - _, done := <-w.done + var done bool + select { + case done = <-w.done: + default: + } // If EOF or a "done" message is received if n == 0 || done { |