F439_CPP_TX-RX_LoRa_Project

Loading...
Searching...
No Matches
Data Structures | Functions
newlib_lock_glue.c File Reference

Implementation of newlib lock interface. More...

`#include <cmsis_compiler.h>`
`#include <newlib.h>`
`#include <stdatomic.h>`
`#include "stm32_lock.h"`
`#include <reent.h>`
Include dependency graph for newlib_lock_glue.c:

## Data Structures
struct | __attribute__

## Functions
__WEAK void | Error_Handler (void)
| Global Error_Handler.
void | __malloc_lock ()
| Acquire malloc lock.
void | __malloc_unlock ()
| Release malloc lock.
void | __env_lock (struct _reent *reent)
| Acquire env lock.
void | __env_unlock (struct _reent *reent)
| Release env lock.
void | __tz_lock ()
| Acquire tz lock.
void | __tz_unlock ()
| Release tz lock.
int | __cxa_guard_acquire (CxaGuardObject_t *guard_object)
| Acquire __cxa_guard mutex.
void | __cxa_guard_abort (CxaGuardObject_t *guard_object)
| Abort __cxa_guard mutex.
void | __cxa_guard_release (CxaGuardObject_t *guard_object)
| Release __cxa_guard mutex.

## Detailed Description

Implementation of newlib lock interface.

Author
  STMicroelectronics

This file implements locking glue necessary to protect C library functions and initialization of local static objects in C++. Lock strategies are defined in stm32_lock.h that implements different level of thread-safety.

For more information about which C functions need which of these low level functions, please consult the newlib libc manual, see https://sourceware.org/newlib/libc.html

For more information about the one-time construction API for C++, see https://itanium-cxx-abi.github.io/cxx-abi/abi.html#once-ctor

Attention

Copyright (c) 2025 STMicroelectronics. All rights reserved.

This software is licensed under terms that can be found in the LICENSE file in the root directory of this software component. If no LICENSE file comes with this software, it is provided AS-IS.

## Function Documentation

## ◆ Error_Handler()

__WEAK void Error_Handler | ( | void |  | ) |

Global Error_Handler.