Copyright 2019. All rights reserved. Advantech Co. Ltd.
Page 37
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
unfinished
. When the call returns it will be marked as
resumed
.
[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])
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.
read(0, 0x7ffff72cf5cf, 1) = ? ERESTARTSYS (To be
restarted)
--- SIGALRM (Alarm clock) @ 0 (0) ---
rt_sigreturn
(0xe) = 0
read(0, ""..., 1) = 0
Arguments are printed in symbolic form with a passion. This example shows the shell
performing ''>>xyzzy'' output redirection:
open("xyzzy", O_WRONLY|O_APPEND|O_CREAT, 0666) = 3
Here the three argument form of open is decoded by breaking down the flag argument
into its three bitwise-OR constituents and printing the mode value in octal by
tradition. Where traditional or native usage differs from ANSI or POSIX, the latter
forms are preferred. In some cases,
strace
output has proven to be more readable than
the source.
Structure pointers are dereferenced and the members are displayed as appropriate. In
all cases arguments are formatted in the most C-like fashion possible. For example,
the essence of the command ''ls -l /dev/null'' is captured as:
lstat("/dev/null", {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 3),
...}) = 0
Notice how the 'struct stat' argument is dereferenced and how each member is
displayed symbolically. In particular, observe how the st_mode member is carefully
decoded into a bitwise-OR of symbolic and numeric values. Also notice in this
example that the first argument to lstat is an input to the system call and the second
argument is an output. Since output arguments are not modified if the system call
fails, arguments may not always be dereferenced. For example, retrying the ''ls -l''
example with a non-existent file produces the following line:
lstat("/foo/bar", 0xb004) = -1 ENOENT (No such file or directory)
In this case the porch light is on but nobody is home.
Содержание AIMB-217
Страница 10: ...Copyright 2019 All rights reserved Advantech Co Ltd Page 10 Figure 2 Top panel of AIMB 217 ...
Страница 11: ...Copyright 2019 All rights reserved Advantech Co Ltd Page 11 Figure 3 Schematic of top panel of AIMB 217 ...
Страница 12: ...Copyright 2019 All rights reserved Advantech Co Ltd Page 12 Figure 4 Bottom panel of AIMB 217 ...
Страница 14: ...Copyright 2019 All rights reserved Advantech Co Ltd Page 14 Figure 6 EFI boot menu ...