Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
UNW_SET..._POLICY(3libunwind) Programming Library  UNW_SET..._POLICY(3libunwind)

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 pol-
     icy);

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 con-
	    tents 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(3libunwind),  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 ap-
	    plication is out of memory.

SEE ALSO
     libunwind(3libunwind),		      unw_create_addr_space(3libunwind),
     unw_set_cache_size(3libunwind), unw_flush_cache(3libunwind)

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

Programming Library		 29 August 2023    UNW_SET..._POLICY(3libunwind)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=unw_set_caching_policy&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help