summaryrefslogtreecommitdiffstats
path: root/spec/rtems/userext/if/task-begin.yml
blob: 5a73c0ab1eb7191603fe7a8115f7cf43602c6f71 (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
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: |
  Task begin extensions are invoked when a task begins execution.
copyrights:
- Copyright (C) 2009, 2021 embedded brains GmbH & Co. KG
definition:
  default: ${/score/userext/if/thread-begin:/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/object-allocator-not-owner
name: rtems_task_begin_extension
notes: |
  The task begin extensions are invoked in
  ${/glossary/extension-forward-order:/term}.

  Task begin extensions are invoked with thread dispatching enabled.  This
  allows the use of dynamic memory allocation, creation of POSIX keys, and use
  of C++ thread-local storage.  Blocking synchronization primitives are allowed
  also.

  The task begin extensions are invoked before the global construction.

  The task begin extensions may be called as a result of a task restart through
  ${../../task/if/restart:/name}.
params:
- description: |
    is the ${/glossary/tcb:/term} of the executing thread.
  dir: null
  name: executing
return: null
type: interface