You copied the Doc URL to your clipboard.

Exceptions [ALPHA]

The C++ runtime (libc++abi and libunwind) must take special measures when allocating and handling exceptions in a threaded environment.


This topic describes an [ALPHA] feature. See Support level definitions.

An implementation of the following subset of the thread porting API is required for the correct operation of exceptions in such an environment:


struct __ARM_TPL_mutex_t{
	_Atomic uintptr_t data;
typedef uint32_t __ARM_TPL_tls_key;


int __ARM_TPL_mutex_lock(__ARM_TPL_mutex_t* __m);
int __ARM_TPL_mutex_unlock(__ARM_TPL_mutex_t* __m);
int __ARM_TPL_tls_create(__ARM_TPL_tls_key* __key, void (*__at_exit) (void*));
void* __ARM_TPL_tls_get(__ARM_TPL_tls_key __key);
void __ARM_TPL_tls_set(__ARM_TPL_tls_key __key, void* __p);
void __ARM_TPL_call_once(volatile unsigned long& flag, void* arg, void(*func)(void*));