Blob Blame History Raw
From 10e46057dd8de9042ae216c50f531c5fc94054f9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nikola=20Forr=C3=B3?= <nforro@redhat.com>
Date: Wed, 4 May 2016 10:55:56 +0200
Subject: [PATCH] clone.2, fork.2: Document ERESTARTNOINTR error code
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Since Linux 2.6.17, clone and fork syscalls return ERESTARTNOINTR
when interrupted by a signal before newly created process is added
to its process group.
This error code can only be seen by ptrace at syscall exit tracing.

The information was obtained from kernel source code:
http://bit.ly/24xdofn

Signed-off-by: Nikola Forró <nforro@redhat.com>
---
 man2/clone.2 | 4 ++++
 man2/fork.2  | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/man2/clone.2 b/man2/clone.2
index 8373700..ab1e58d 100644
--- a/man2/clone.2
+++ b/man2/clone.2
@@ -1013,6 +1013,10 @@ and the call would cause the limit on the number of
 nested user namespaces to be exceeded.
 See
 .BR user_namespaces (7).
+.TP
+.BR ERESTARTNOINTR " (since Linux 2.6.17)"
+System call was interrupted by a signal and will be restarted.
+(This can be seen only during a trace.)
 .SH VERSIONS
 There is no entry for
 .BR clone ()
diff --git a/man2/fork.2 b/man2/fork.2
index 559a47f..3accc8c 100644
--- a/man2/fork.2
+++ b/man2/fork.2
@@ -242,6 +242,10 @@ failed to allocate the necessary kernel structures because memory is tight.
 is not supported on this platform (for example,
 .\" e.g., arm (optionally), blackfin, c6x, frv, h8300, microblaze, xtensa
 hardware without a Memory-Management Unit).
+.TP
+.BR ERESTARTNOINTR " (since Linux 2.6.17)"
+System call was interrupted by a signal and will be restarted.
+(This can be seen only during a trace.)
 .SH CONFORMING TO
 POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
 .SH NOTES
-- 
2.7.4