SNIP_CLASSIC_OS_SECTION_8_4_20_TerminateApplication
Wortlaut
8.4.20 TerminateApplication
[SWS_Os_00258] Definition of API function TerminateApplication
Upstream requirements: SRS_Os_11022
⌈
Service Name
TerminateApplication
Syntax
StatusType TerminateApplication (
ApplicationType Application,
RestartType RestartOption
)
Service ID [hex]
0x12
Sync/Async
Synchronous
Reentrancy
Reentrant
Application
The identifier of the OS-Application to be terminated. If the caller
belongs to <Application> the call results in a self termination.
Parameters (in)
RestartOption
Parameter is no longer used and ignored.
Parameters (inout)
None
Parameters (out)
None
Return value
StatusType
E_OK: No errors
E_OS_ID: <Application> was not valid (only in EXTENDED
status)
E_OS_ACCESS: The caller does not have the right to terminate
<Application> (only in EXTENDED status)
E_OS_STATE: The state of <Application> does not allow
terminating <Application>
Description
This service terminates the OS-Application to which the calling Task/Category 2 ISR/application
specific error hook belongs.
Available via
Os.h
⌋
[SWS_Os_00493]
Upstream requirements: SRS_BSW_00323
⌈If the input parameter <Application> in a call of TerminateApplication is not valid
TerminateApplication shall return E_OS_ID.⌋
[SWS_Os_00494]
Upstream requirements: SRS_BSW_00323
⌈If the input parameter <Application> in a call of TerminateApplication is valid
AND the caller belongs to a non-trusted OS-Application AND the caller does not belong
to <Application> TerminateApplication shall return E_OS_ACCESS.⌋
[SWS_Os_00507]
Upstream requirements: SRS_BSW_00323
⌈If the state of <Application> in a call of TerminateApplication is APPLICATION_TERMINATED TerminateApplication shall return E_OS_STATE.⌋
[SWS_Os_00287]
Upstream requirements: SRS_Os_11022
⌈If the parameters in a call of TerminateApplication are valid and the above criteria are met TerminateApplication shall terminate <Application> (i.e. to kill all
Tasks, disable the interrupt sources of those ISRs which belong to the OS-Application
and free all other OS resources associated with the application). The <Application>
state is set to APPLICATION_TERMINATED. If the caller belongs to <Application>
TerminateApplication shall not return, otherwise it shall return E_OK.⌋
[SWS_Os_00535]
Upstream requirements: SRS_Os_11022
⌈Caveats of TerminateApplication:
• If no applications are configured the implementation shall make sure that this
service is not available.
• Tasks and interrupts that are owned by a trusted application can terminate any
OS-Application. Tasks and interrupts that are owned by a non-trusted application
can only terminate their owning OS-Application.
⌋
Note: Although trusted OS-Application can be forcibly terminated by Tasks/Interrupts
of other trusted OS-Applications it is not recommended. This may have further impacts,
e.g. to users who are currently part of such an OS-Application via a CallTrustedFunction call.
[SWS_Os_00536]
Upstream requirements: SRS_Os_11016
⌈Availability of TerminateApplication: Available in Scalability Classes 3 and 4.⌋
Versionen & Provenienz · Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.
Begründung & Zuweisungs-Evidenz
Cited verbatim in the snippet (deterministic citation).
Dokumenten-Herkunft & Rückverfolgbarkeit
| Spezifikations-Dokument | SWS_OS.pdf |
|---|---|
| Dokumentseite | Seite 194 |
| Ziel-Modul | os (classic) |
| Ziel-Anforderung | SWS_Os_00788 |
| Semantische Rolle | constitutive |
| Automatisierungs-Konfidenz | 0.95 |