summaryrefslogtreecommitdiffstats
path: root/spec/rtems/task/if/suspend.yml
blob: 0943f25b9f14477cd32bcbec3d87ab33e1035776 (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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: |
  Suspends the task.
copyrights:
- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR)
definition:
  default:
    attributes: null
    body: null
    params:
    - ${../../type/if/id:/name} ${.:/params[0]/name}
    return: ${../../status/if/code:/name}
  variants: []
description: |
  This directive suspends the task specified by ${.:/params[0]/name} from
  further execution by placing it in the suspended state.  This state is
  additive to any other blocked state that the task may already be in.  The
  task will not execute again until another task issues the ${resume:/name}
  directive for this task and any blocked state has been removed.  The
  ${restart:/name} directive will also remove the suspended state.
enabled-by: true
index-entries:
- suspending a task
interface-type: function
links:
- role: interface-placement
  uid: header
- role: interface-ingroup
  uid: group
- role: constraint
  uid: /constraint/directive-ctx-isr
- role: constraint
  uid: /constraint/directive-ctx-devinit
- role: constraint
  uid: /constraint/directive-ctx-task
- role: constraint
  uid: /constraint/directive-remote
name: rtems_task_suspend
notes: |
  The requesting task can suspend itself for example by specifying
  ${self-define:/name} as ${.:/params[0]/name}.  In this case, the task will be
  suspended and a successful return code will be returned when the task is
  resumed.
params:
- description: |
    is the task identifier.  The constant ${self-define:/name} may be used to
    specify the calling task.
  dir: null
  name: id
return:
  return: null
  return-values:
  - description: |
      The requested operation was successful.
    value: ${../../status/if/successful:/name}
  - description: |
      There was no task associated with the identifier specified by
      ${.:/params[0]/name}.
    value: ${../../status/if/invalid-id:/name}
  - description: |
      The task was already suspended.
    value: ${../../status/if/already-suspended:/name}
  - description: |
      The task resided on a remote node.
    value: ${../../status/if/illegal-on-remote-object:/name}
type: interface