]> Cypherpunks repositories - gostls13.git/commitdiff
doc/go1.14: mention increased number of EINTR errors
authorIan Lance Taylor <iant@golang.org>
Thu, 26 Dec 2019 23:57:13 +0000 (15:57 -0800)
committerIan Lance Taylor <iant@golang.org>
Fri, 27 Dec 2019 03:36:24 +0000 (03:36 +0000)
Updates #36281

Change-Id: I3c4487caaf47566212dc62322b2e884e695ea7f1
Reviewed-on: https://go-review.googlesource.com/c/go/+/212657
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
doc/go1.14.html

index 482dcf2e68eec0f6a80173ebc8ed92de0969494b..9c45c771295211f5d4d33a51a08c24530adfa73c 100644 (file)
@@ -258,6 +258,23 @@ TODO
   <code>plan9/*</code>.
 </p>
 
+<p>
+  A consequence of the implementation of preemption is that on Unix
+  systems, including Linux and macOS systems, programs built with Go
+  1.14 will receive more signals than programs built with earlier
+  releases.
+  This means that programs that use packages
+  like <a href="/pkg/syscall/"><code>syscall</code></a>
+  or <a href="https://godoc.org/golang.org/x/sys/unix"><code>golang.org/x/sys/unix</code></a>
+  will see more slow system calls fail with <code>EINTR</code> errors.
+  Those programs will have to handle those errors in some way, most
+  likely looping to try the system call again.  For more
+  information about this
+  see <a href="http://man7.org/linux/man-pages/man7/signal.7.html"><code>man
+  7 signal</code></a> for Linux systems or similar documentation for
+  other systems.
+</p>
+
 <p><!-- CL 201765, CL 195701 and many others -->
   The page allocator is more efficient and incurs significantly less
   lock contention at high values of <code>GOMAXPROCS</code>.