RTEMS CPU Kit with SuperCore  4.11.3
Data Structures | Functions
cancel.h File Reference

POSIX Thread Cancelation Support. More...

#include <rtems/posix/threadsup.h>
Include dependency graph for cancel.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  POSIX_Cancel_Handler_control
 This structure is used to manage the cancelation handlers. More...
 

Functions

void _POSIX_Threads_cancel_run (Thread_Control *the_thread)
 POSIX run thread cancelation. More...
 
void _POSIX_Thread_Evaluate_cancellation_and_enable_dispatch (Thread_Control *the_thread)
 POSIX evaluate thread cancelation and enable dispatch. More...
 

Detailed Description

POSIX Thread Cancelation Support.

This file contains the prototypes and data types used to implement POSIX thread cancelation.

Function Documentation

◆ _POSIX_Thread_Evaluate_cancellation_and_enable_dispatch()

void _POSIX_Thread_Evaluate_cancellation_and_enable_dispatch ( Thread_Control the_thread)

POSIX evaluate thread cancelation and enable dispatch.

This routine separates a piece of code that existed as part of another routine, but had to be separated to improve coverage.

Parameters
[in]the_threadis a pointer to the thread to evaluate canceling

References _Objects_Put(), _POSIX_Thread_Exit(), _Thread_Unnest_dispatch(), Thread_Control::API_Extensions, POSIX_API_Control::cancelability_state, POSIX_API_Control::cancelability_type, POSIX_API_Control::cancelation_requested, Thread_Control::Object, and THREAD_API_POSIX.

◆ _POSIX_Threads_cancel_run()

void _POSIX_Threads_cancel_run ( Thread_Control the_thread)

POSIX run thread cancelation.

This support routine runs through the chain of cancel handlers that have been registered and executes them.

Parameters
[in]the_threadis a pointer to the thread whose cancelation handlers should be run

References _Chain_Extract_unprotected(), _Chain_Is_empty(), _Chain_Tail(), _ISR_Disable, _ISR_Enable, _Thread_Disable_dispatch(), _Thread_Enable_dispatch(), _Workspace_Free(), Thread_Control::API_Extensions, POSIX_Cancel_Handler_control::arg, POSIX_API_Control::cancelability_state, POSIX_API_Control::Cancellation_Handlers, POSIX_Cancel_Handler_control::Node, Chain_Node_struct::previous, POSIX_Cancel_Handler_control::routine, and THREAD_API_POSIX.