blob: f262e5600c1df741d188259072f97c327b3d37cd [file] [log] [blame]
 \documentclass{article} \usepackage[fancyhdr,pdf]{latex2man} \input{common.tex} \begin{document} \begin{Name}{3}{unw\_is\_signal\_frame}{David Mosberger-Tang}{Programming Library}{unw\_is\_signal\_frame}unw\_is\_signal\_frame -- check if current frame is a signal frame \end{Name} \section{Synopsis} \File{\#include $<$libunwind.h$>$}\\ \Type{int} \Func{unw\_is\_signal\_frame}(\Type{unw\_cursor\_t~*}\Var{cp});\\ \section{Description} The \Func{unw\_is\_signal\_frame}() routine returns a positive value if the current frame identified by \Var{cp} is a signal frame, and a value of 0 otherwise. For the purpose of this discussion, a signal frame is a frame that was created in response to a potentially asynchronous interruption. For UNIX and UNIX-like platforms, such frames are normally created by the kernel when delivering a signal. In a kernel-environment, a signal frame might, for example, correspond to a frame created in response to a device interrupt. Signal frames are somewhat unusual because the asynchronous nature of the events that create them require storing the contents of registers that are normally treated as scratch (caller-saved'') registers. \section{Return Value} On successful completion, \Func{unw\_is\_signal\_frame}() returns a positive value if the current frame is a signal frame, or 0 if it is not. Otherwise, a negative value of one of the error-codes below is returned. \section{Thread and Signal Safety} \Func{unw\_is\_signal\_frame}() is thread-safe as well as safe to use from a signal handler. \section{Errors} \begin{Description} \item[\Const{UNW\_ENOINFO}] \Prog{Libunwind} is unable to determine whether or not the current frame is a signal frame. \end{Description} \section{See Also} \SeeAlso{libunwind(3)}, \SeeAlso{unw\_get\_reg(3)}, \SeeAlso{unw\_set\_reg(3)}, \SeeAlso{unw\_get\_fpreg(3)}, \SeeAlso{unw\_set\_fpreg(3)} \section{Author} \noindent David Mosberger-Tang\\ Email: \Email{dmosberger@gmail.com}\\ WWW: \URL{http://www.nongnu.org/libunwind/}. \LatexManEnd \end{document}