Revision c22d21ad doc/activitydiagrams/publisher/urtPublisherPublish.uml

View differences:

doc/activitydiagrams/publisher/urtPublisherPublish.uml
48 48
/'### PROCEDURE ##############################################################'/
49 49

  
50 50
:lock topic;
51
:lock next message;
52
while (HRT consumers left for the message or timeout?) is (yes)
53
  :unlock message;
54
  :wait for topic's condition variable (using topic's mutex) to be signaled or timeout;
55
  :lock message;
51
:access next message;
52
while (HRT consumers left for the message\nor the message timestamp was modified\nand a timeout occurred?) is (yes)
53
  if (Message timestamp was modified?) the (yes)
54
    :iterate to next message;
55
  else (no)
56
    :wait for topic's condition variable (using topic's mutex) to be signaled or timeout;
57
  endif
56 58
endwhile (no)
57 59
if (Timeout occurred?) then (yes)
58
  :unlock message;
59 60
  :unlock topic;
60 61
  :return ""URT_STATUS_ERROR"";
61 62
else (no)
......
69 70
    fork again
70 71
      :set number of HRT consumers (from topic);
71 72
    endfork
72
    :unlock message;
73 73
  fork again
74 74
    :set QoS rate timer (@topic) wrt. most critical HRT subscriber;
75 75
  fork again

Also available in: Unified diff