1UNW_IS_SIGNAL_FRAME(3) Programming Library UNW_IS_SIGNAL_FRAME(3)
2
3
4
6 unw_is_signal_frame -- check if current frame is a signal frame
7
9 #include <libunwind.h>
10
11 int unw_is_signal_frame(unw_cursor_t *cp);
12
14 The unw_is_signal_frame() routine returns a positive value if the cur‐
15 rent frame identified by cp is a signal frame, and a value of 0 other‐
16 wise. For the purpose of this discussion, a signal frame is a frame
17 that was created in response to a potentially asynchronous interrup‐
18 tion. For UNIX and UNIX-like platforms, such frames are normally cre‐
19 ated by the kernel when delivering a signal. In a kernel-environment,
20 a signal frame might, for example, correspond to a frame created in
21 response to a device interrupt.
22
23 Signal frames are somewhat unusual because the asynchronous nature of
24 the events that create them require storing the contents of registers
25 that are normally treated as scratch (``caller-saved'') registers.
26
28 On successful completion, unw_is_signal_frame() returns a positive
29 value if the current frame is a signal frame, or 0 if it is not. Other‐
30 wise, a negative value of one of the error-codes below is returned.
31
33 unw_is_signal_frame() is thread-safe as well as safe to use from a sig‐
34 nal handler.
35
37 UNW_ENOINFO
38 Libunwind is unable to determine whether or not the current
39 frame is a signal frame.
40
42 libunwind(3), unw_get_reg(3), unw_set_reg(3), unw_get_fpreg(3),
43 unw_set_fpreg(3)
44
46 David Mosberger-Tang
47 Email: dmosberger@gmail.com
48 WWW: http://www.nongnu.org/libunwind/.
49
50
51
52Programming Library 16 August 2007 UNW_IS_SIGNAL_FRAME(3)