summaryrefslogtreecommitdiff
path: root/strace.1
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2008-09-12 08:44:30 +0000
committerJan Kratochvil <jan.kratochvil@redhat.com>2008-09-12 08:44:30 +0000
commit14256a7d2634f40f67ccbf73e163d022f5268d55 (patch)
tree34164c43fd35da8677a312630ecd36cfe73ebc06 /strace.1
parent21a75347451b5178a0eb85a48042b8db0e45b318 (diff)
downloadstrace-14256a7d2634f40f67ccbf73e163d022f5268d55.tar.gz
strace-14256a7d2634f40f67ccbf73e163d022f5268d55.tar.bz2
strace-14256a7d2634f40f67ccbf73e163d022f5268d55.tar.xz
2008-09-12 Tomas Pospisek <tpo@sourcepole.ch>
Jan Kratochvil <jan.kratochvil@redhat.com> * strace.1 (DESCRIPTION): New description of unfinished system calls and system calls restarting.
Diffstat (limited to 'strace.1')
-rw-r--r--strace.120
1 files changed, 20 insertions, 0 deletions
diff --git a/strace.1 b/strace.1
index f2ecfe4..02784d0 100644
--- a/strace.1
+++ b/strace.1
@@ -147,6 +147,26 @@ sigsuspend([] <unfinished ...>
--- SIGINT (Interrupt) ---
+++ killed by SIGINT +++
.CE
+If a system call is being executed and meanwhile another one is being called
+from a different thread/process then
+.B strace
+will try to preserve the order of those events and mark the ongoing call as
+being \fIunfinished\fP. When the call returns it will be marked as
+\fIresumed\fP.
+.CW
+[pid 28772] select(4, [3], NULL, NULL, NULL <unfinished ...>
+[pid 28779] clock_gettime(CLOCK_REALTIME, {1130322148, 939977000}) = 0
+[pid 28772] <... select resumed> ) = 1 (in [3])
+.CE
+Interruption of a (restartable) system call by a signal delivery is processed
+differently as kernel terminates the system call and also arranges its
+immediate reexecution after the signal handler completes.
+.CW
+read(0, 0x7ffff72cf5cf, 1) = ? ERESTARTSYS (To be restarted)
+--- SIGALRM (Alarm clock) @ 0 (0) ---
+rt_sigreturn(0xe) = 0
+read(0, ""..., 1) = 0
+.CE
Arguments are printed in symbolic form with a passion.
This example shows the shell performing ``>>xyzzy'' output redirection:
.CW