Man Linux: Main Page and Category List

NAME

       unw_set_caching_policy -- set unwind caching policy

SYNOPSIS

       #include <libunwind.h>

       int  unw_set_caching_policy(unw_addr_space_t  as,  unw_caching_policy_t
       policy);

DESCRIPTION

       The unw_set_caching_policy() routine sets the caching policy of address
       space  as  to  the  policy  specified  by  argument policy.  The policy
       argument can take one of three possible values:

       UNW_CACHE_NONE
               Turns off caching completely. This also implicitly flushes  the
              contents  of all caches as if unw_flush_cache() had been called.

       UNW_CACHE_GLOBAL
               Enables caching using a global cache  that  is  shared  by  all
              threads.  If  global  caching  is  unavailable  or  unsupported,
              libunwind may fall back on  using  a  per-thread  cache,  as  if
              UNW_CACHE_PER_THREAD had been specified.

       UNW_CACHE_PER_THREAD
               Enables  caching  using  thread-local caches. If a thread-local
              caching are unavailable or unsupported, libunwind may fall  back
              on  using  a  global  cache,  as  if  UNW_CACHE_GLOBAL  had been
              specified.

       If caching  is  enabled,  an  application  must  be  prepared  to  make
       appropriate calls to unw_flush_cache() whenever the target changes in a
       way that could affect the validity of cached information.  For example,
       after  unloading  (removing)  a shared library, unw_flush_cache() would
       have to be called (at least) for the address-range that was covered  by
       the shared library.

       For  address  spaces  created  via unw_create_addr_space(3), caching is
       turned   off   by   default.    For    the    local    address    space
       unw_local_addr_space, caching is turned on by default.

RETURN VALUE

       On   successful   completion,   unw_set_caching_policy()   returns   0.
       Otherwise the negative  value  of  one  of  the  error-codes  below  is
       returned.

THREAD AND SIGNAL SAFETY

       unw_set_caching_policy()  is  thread-safe  but  not  safe to use from a
       signal handler.

ERRORS

       UNW_ENOMEM
               The desired caching policy could not be established because the
              application is out of memory.

SEE ALSO

       libunwind(3), unw_create_addr_space(3), unw_flush_cache(3)

AUTHOR

       David Mosberger-Tang
       Email: dmosberger@gmail.com
       WWW: http://www.nongnu.org/libunwind/.