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