patch: strace.1, explication of "unfinished" (repost)
Jan Kratochvil
jan.kratochvil at redhat.com
Fri Sep 12 08:20:14 UTC 2008
Hi Tomas,
I had to extend it a bit, is it fine this way?
Regards,
Jan
-------------- next part --------------
2008-09-12 Tomas Pospisek <tpo at sourcepole.ch>
Jan Kratochvil <jan.kratochvil at redhat.com>
* strace.1 (DESCRIPTION): New description of unfinished system calls
and system calls restarting.
--- strace.1 28 Aug 2008 23:41:57 -0000 1.17
+++ strace.1 12 Sep 2008 08:01:45 -0000
@@ -147,6 +147,24 @@ 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 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
More information about the Strace-devel
mailing list