SDAG docs 'when': Describe semantics of 0, 1, N posted triggers
authorPhil Miller <mille121@illinois.edu>
Fri, 27 Jul 2012 12:40:09 +0000 (07:40 -0500)
committerPhil Miller <mille121@illinois.edu>
Fri, 27 Jul 2012 12:40:09 +0000 (07:40 -0500)
doc/charm++/sdag.tex

index 4c0126971818c191e1eb8f3c40acaeff0c92250d..290bd1f29d64b4ad2588b70d2c368ec29d5d6035 100644 (file)
@@ -226,6 +226,14 @@ entry void startStep() \{
 \end{alltt}
 \end{center}
 
+A single entry method is allowed to appear in more than one {\tt when} statement.
+If only one of those {\tt when} statements has been triggered when the runtime
+delivers a message to that entry method, that {\tt when} statement is guaranteed
+to process it. If there is no trigger waiting for that entry method, then the
+next corresponding {\tt when} to be reached will receive that message. If there is
+more than one {\tt when} waiting on that method, which one will receive it is not
+specified, and should not be relied upon.
+
 SDAG supports the {\tt for} and {\tt while} loop constructs mostly as if they
 appeared in plain C or C++ code. In the running example, {\tt
   computeInteractions()} calls {\tt startStep()} when it is finished to start