Revision dd31cb03 doc/activitydiagrams/core/urtCoreSynchronizeNodes.uml

View differences:

doc/activitydiagrams/core/urtCoreSynchronizeNodes.uml
34 34
  ====
35 35
  -- **return** : urt_status_t --
36 36
  Returns ""URT_STATUS_OK"" if all nodes are synchronized and proceed.
37
  Returns ""URT_STATUS_ERROR"" if an exception occurred (faulty stage value detected).
38
  Returns a value greater than ""URT_STATUS_OK"" but smaller than ""URT_STATUS_ERROR"" if there are nodes left to synchronize.
37
  Returns ""URT_STATUS_SYNC_ERROR"" if an exception occurred (faulty stage value detected).
38
  Returns ""URT_STATUS_SYNC_PENDING"" if there are nodes left to synchronize.
39 39
  In the latter case, the node thread must still wait for the control event (proceed) to synchronize.
40 40
endnote
41 41

  
......
48 48
while (Current node is not ""NULL""\nand stage of current node is equal to argument?) is (yes)
49 49
  :proceed to next node;
50 50
endwhile (no)
51
if (The stage of a node was equal to the argument or 1 less than the argument?) then (yes)
52
  :call ""urtCoreStopNodes(URT_STATUS_ERROR)"";
51
if (All nodes are at the same stage?) then (yes)
52
  :broadcast control event (proceed);
53 53
  :unlock core;
54 54
  stop
55 55
  note
56
    Returns ""URT_STATUS_ERROR"".
56
    Returns ""URT_STATUS_OK"".
57 57
  endnote
58
else (no)
59
endif
60
if (Stages of all nodes are equal to argument?) then (yes)
61
  :broadcast control event (proceed);
58
elseif (The stage of the last checked node was one less than the argument?) then (yes)
62 59
  :unlock core;
63 60
  stop
64 61
  note
65
    Returns ""URT_STATUS_OK"".
62
    Returns a ""URT_STATUS_SYNC_PENDING"".
66 63
  endnote
67 64
else (no)
65
  :call ""urtCoreStopNodes(URT_STATUS_SYNC_ERROR)"";
68 66
  :unlock core;
69 67
  stop
70 68
  note
71
    Returns a value greater than ""URT_STATUS_OK"" but smaller than ""URT_STATUS_ERROR"".
69
    Returns ""URT_STATUS_SYNC_ERROR"".
72 70
  endnote
73 71
endif
74 72

  

Also available in: Unified diff