bionic (3) unw_set_caching_policy.3.gz

Provided by: libunwind-dev_1.2.1-8ubuntu0.1_amd64 bug

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/.