Helper macro for static definition of recursive mutexes A recursive mutex defined as follows: ```c auto_init_recursive_mutex(my_recursive_mutex); ``` Is equivalent to doing ```c static recursive_mutex_t my_recursive_mutex; void my_init_function() { recursive_mutex_init(&my_recursive_mutex); } ``` But the initialization of the mutex is performed automatically during runtime initialization
#defineauto_init_recursive_mutex(name)static__attribute__((section(".mutex_array")))recursive_mutex_tname={.core={.spin_lock=(spin_lock_t*)1/* marker for runtime_init */},.owner=0,.enter_count=0}