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