1972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\documentclass{article} 2972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\usepackage[fancyhdr,pdf]{latex2man} 3972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye 4972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\input{common.tex} 5972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye 6972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\begin{document} 7972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye 8972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\begin{Name}{3}{unw\_set\_caching\_policy}{David Mosberger-Tang}{Programming Library}{unw\_set\_caching\_policy}unw\_set\_caching\_policy -- set unwind caching policy 9972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\end{Name} 10972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye 11972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\section{Synopsis} 12972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye 13972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\File{\#include $<$libunwind.h$>$}\\ 14972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye 15ad728f97cd9b264462c96612a134bb700aa5233b(none)!davidm\Type{int} \Func{unw\_set\_caching\_policy}(\Type{unw\_addr\_space\_t} \Var{as}, \Type{unw\_caching\_policy\_t} \Var{policy});\\ 16972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye 17972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\section{Description} 18972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye 19972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahayeThe \Func{unw\_set\_caching\_policy}() routine sets the caching policy 20972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahayeof address space \Var{as} to the policy specified by argument 21972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\Var{policy}. The \Var{policy} argument can take one of three 22972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahayepossible values: 23972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\begin{description} 24972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\item[\Const{UNW\_CACHE\_NONE}] Turns off caching completely. This 25972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye also implicitly flushes the contents of all caches as if 26972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye \Func{unw\_flush\_cache}() had been called. 27972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\item[\Const{UNW\_CACHE\_GLOBAL}] Enables caching using a global cache 28972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye that is shared by all threads. If global caching is unavailable or 29972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye unsupported, \Prog{libunwind} may fall back on using a per-thread 30972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye cache, as if \Const{UNW\_CACHE\_PER\_THREAD} had been specified. 31972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\item[\Const{UNW\_CACHE\_PER\_THREAD}] Enables caching using 32972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye thread-local caches. If a thread-local caching are unavailable or 33972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye unsupported, \Prog{libunwind} may fall back on using a global cache, 34972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye as if \Const{UNW\_CACHE\_GLOBAL} had been specified. 35972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\end{description} 36972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye 37972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahayeIf caching is enabled, an application must be prepared to make 38972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahayeappropriate calls to \Func{unw\_flush\_cache}() whenever the target 39972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahayechanges in a way that could affect the validity of cached information. 40972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahayeFor example, after unloading (removing) a shared library, 41972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\Func{unw\_flush\_cache}() would have to be called (at least) for the 42972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahayeaddress-range that was covered by the shared library. 43972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye 44972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahayeFor address spaces created via \Func{unw\_create\_addr\_space}(3), 45972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahayecaching is turned off by default. For the local address space 46972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\Func{unw\_local\_addr\_space}, caching is turned on by default. 47972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye 48972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\section{Return Value} 49972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye 50972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahayeOn successful completion, \Func{unw\_set\_caching\_policy}() returns 0. 51972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahayeOtherwise the negative value of one of the error-codes below is 52972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahayereturned. 53972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye 54972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\section{Thread and Signal Safety} 55972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye 56972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\Func{unw\_set\_caching\_policy}() is thread-safe but \emph{not} safe 57972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahayeto use from a signal handler. 58972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye 59972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\section{Errors} 60972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye 61972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\begin{Description} 62972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\item[\Const{UNW\_ENOMEM}] The desired caching policy could not be 63972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye established because the application is out of memory. 64972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\end{Description} 65972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye 66972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\section{See Also} 67972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye 68972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\SeeAlso{libunwind(3)}, 69972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\SeeAlso{unw\_create\_addr\_space(3)}, 70972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\SeeAlso{unw\_flush\_cache(3)} 71972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye 72972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\section{Author} 73972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye 74972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\noindent 75972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahayeDavid Mosberger-Tang\\ 7675f34ccb7dcdfd2b96e370824b3fd723b2f22b49David Mosberger-TangEmail: \Email{dmosberger@gmail.com}\\ 7775f34ccb7dcdfd2b96e370824b3fd723b2f22b49David Mosberger-TangWWW: \URL{http://www.nongnu.org/libunwind/}. 78972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\LatexManEnd 79972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye 80972aec70ba48f64db9b635a47a497cd65489d343esiee.fr!m.delahaye\end{document} 81