summaryrefslogtreecommitdiffstats
path: root/spec/rtems/userext/if/task-terminate.yml
blob: 115cf4b5afc2395bb1da18664d25f3e96e60b4d8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: |
  Task terminate extensions are invoked when a task terminates.
copyrights:
- Copyright (C) 2009, 2021 embedded brains GmbH & Co. KG
definition:
  default: ${/score/userext/if/thread-terminate:/name} ${.:/name}
  variants: []
description: null
enabled-by: true
index-entries: []
interface-type: typedef
links:
- role: interface-placement
  uid: header
- role: interface-ingroup
  uid: group
- role: constraint
  uid: /constraint/thread-dispatching-enabled
- role: constraint
  uid: /constraint/thread-life-protected
- role: constraint
  uid: /constraint/object-allocator-not-owner
name: rtems_task_terminate_extension
notes: |
  The task terminate extensions are invoked in
  ${/glossary/extension-reverse-order:/term}.

  The task terminate extensions are invoked in the context of the terminating
  thread right before the thread dispatch to the heir thread should take place.
  The thread stack reflects the previous execution context.  The POSIX cleanup
  and key destructors execute in this context.

  Thread restart and delete requests issued by terminate extensions lead to
  recursion.
params:
- description: |
    is the ${/glossary/tcb:/term} of the executing thread.  This is the
    terminating thread.
  dir: null
  name: executing
return: null
type: interface