summaryrefslogtreecommitdiffstats
path: root/spec/rtems/task/if/wake-after.yml
blob: c4799f4dbf3475d9bf01d8a537cce127bfc097c7 (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
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: |
  Wakes up after a count of ${/glossary/clock-tick:/plural} have occurred or
  yields the processor.
copyrights:
- Copyright (C) 2021 embedded brains GmbH & Co. KG
- Copyright (C) 1988, 2023 On-Line Applications Research Corporation (OAR)
definition:
  default:
    attributes: null
    body: null
    params:
    - ${../../type/if/interval:/name} ${.:/params[0]/name}
    return: ${../../status/if/code:/name}
  variants: []
description: |
  This directive blocks the calling task for the specified ${.:/params[0]/name}
  count of clock ticks if the value is not equal to ${yield-processor:/name}.
  When the requested count of ticks have occurred, the task is made ready.  The
  clock tick directives automatically update the delay period.  The calling task
  may give up the processor and remain in the ready state by specifying a value
  of ${yield-processor:/name} in ${.:/params[0]/name}.
enabled-by: true
index-entries:
- delay a task for a count of clock ticks
- wake up after a count of clock ticks
interface-type: function
links:
- role: interface-placement
  uid: header
- role: interface-ingroup
  uid: group
- role: constraint
  uid: /constraint/directive-ctx-task
- role: constraint
  uid: /constraint/clock-driver
- role: constraint
  uid: /constraint/fatal-bad-thread-dispatch-disable-level
name: rtems_task_wake_after
notes: |
  Setting the system date and time with the ${../../clock/if/set:/name}
  directive and similar directives which set ${/glossary/clock-realtime:/term}
  have no effect on a ${wake-after:/name} blocked task.  The delay until first
  clock tick will never be a whole clock tick interval since this directive will
  never execute exactly on a clock tick.  Applications requiring use of a clock
  (${/glossary/clock-realtime:/term} or ${/glossary/clock-monotonic:/term})
  instead of clock ticks should make use of ${/c/if/clock-nanosleep:/name}.
params:
- description: |
    is the count of ${/glossary/clock-tick:/plural} to delay the task or
    ${yield-processor:/name} to yield the processor.
  dir: null
  name: ticks
return:
  return: null
  return-values:
  - description: |
      The requested operation was successful.
    value: ${../../status/if/successful:/name}
type: interface