Statistics
| Branch: | Revision:

urtware / doc / activitydiagrams / core / urtCoreStopNodes.uml @ e87bd7c7

History | View | Annotate | Download (1.87 KB)

1 e48e1ccf Thomas Schöpping
/'
2
µRtWare is a lightweight publish/subscribe middleware for real-time
3
applications. It was developed as part of the software habitat for the
4
Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
5
6
Copyright (C) 2018..2020  Thomas Schöpping et al.
7
8
This program is free software: you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation, either version 3 of the License, or
11
(at your option) any later version.
12
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
GNU General Public License for more details.
17
18
You should have received a copy of the GNU General Public License
19
along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
'/
21
22
/'### INTRO ##################################################################'/
23
24
@startuml
25
26
title **µRtWare**\nurtCoreStopNodes()\n
27
28
/'### PARAMETERS & RETURN ####################################################'/
29
30
note
31 e87bd7c7 Thomas Schöpping
  -- **reason** : urt_status_t --
32
  The reason why the function was called.
33
  For normal shutdown ""URT_STATUS_OK"" should be used.
34 e48e1ccf Thomas Schöpping
  ====
35
  -- **return** : urt_status_t --
36 e87bd7c7 Thomas Schöpping
  Always returns ""URT_STATUS_OK"".
37 e48e1ccf Thomas Schöpping
endnote
38
39
/'### PROCEDURE ##############################################################'/
40
41
start
42 e87bd7c7 Thomas Schöpping
:lock core;
43
if (Current ""_status"" value is smaller than specified reason?) then (yes)
44
  :set core's ""_status"" value to argument;
45
else (no)
46
endif
47
:access first node in core's list of nodes;
48
while (Current node is not ""NULL""?) is (yes)
49
  :request node to terminate;
50
  :proceed to next node;
51
endwhile (no)
52
:broadcast control event (terminate);
53
:unlock core;
54 e48e1ccf Thomas Schöpping
stop
55 e87bd7c7 Thomas Schöpping
note
56
  Returns ""URT_STATUS_OK"".
57
endnote
58 e48e1ccf Thomas Schöpping
59
/'### OUTRO ##################################################################'/
60
61
@enduml