bt_set_flags()

Updated: April 19, 2023

Set or clear the flags for backtracing

Note: The backtrace library is an unsupported feature, due to its fragility. For more information, see Backtraces in the QNX Neutrino technotes.

Synopsis:

#include <backtrace.h>

int bt_set_flags( bt_accessor_t *acc,
                  unsigned flags,
                  int onoff );

Arguments:

acc
A pointer to a bt_accessor_t structure. This is an opaque structure that holds the identity of the thread to backtrace.
flags
A bitwise ORing of the flags you want to set:
  • BTF_LIVE_BACKTRACE — typically bt_get_backtrace() freezes a thread before gathering the backtrace. If you set this flag, bt_get_backtrace() doesn't freeze the thread. This can be useful if you want to freeze many threads at the same time, and then collect the backtrace for all threads, thus providing a coherent snapshot for all of the threads.
onoff
Zero to clear the specified flags, or a nonzero value to set the flags.

Library:

libbacktrace

Use the -l backtrace option to qcc to link against this library.

Description:

The bt_set_flags() function lets you turn the specified flags on or off.

Returns:

0
Success.
-1
An error occurred (errno is set).

Errors:

EINVAL
The flags argument specifies an invalid flag.

Classification:

QNX Neutrino

Safety:  
Cancellation point No
Interrupt handler Yes
Signal handler Yes
Thread Yes