};
/* state machine flags, set by handler */
-#define SM_FLAG_FORCE_SEND_TOKEN 0x00000001 /* send token even if empty */
-#define SM_FLAG_STOP_EVAL 0x00000002 /* no more handlers for this state */
-#define SM_FLAG_RESTART 0x00000004 /* restart state machine */
-#define SM_FLAG_OUTPUT_TOKEN_CRITICAL 0x00000008 /* output token is critical */
+#define SM_FLAG_FORCE_SEND_TOKEN 0x00000001 /* send token even if no inner tokens */
+#define SM_FLAG_RESTART 0x00000002 /* restart state machine */
+#define SM_FLAG_OUTPUT_TOKEN_CRITICAL 0x00000004 /* output token is critical */
/* state machine flags, set by state machine */
#define SM_FLAG_INPUT_TOKEN_CRITICAL 0x40000000 /* input token was critical */
innerOutputTokens->count++;
}
/*
- * Break out if explicitly requested, or if we made a state transition
- * and have some tokens to send.
+ * Break out if we made a state transition and have some tokens to send.
*/
- if ((smFlags & SM_FLAG_STOP_EVAL) ||
- ((smFlags & SM_FLAG_TRANSITED) &&
- ((smFlags & SM_FLAG_FORCE_SEND_TOKEN) || innerOutputTokens->count != 0))) {
+ if ((smFlags & SM_FLAG_TRANSITED) &&
+ ((smFlags & SM_FLAG_FORCE_SEND_TOKEN) || innerOutputTokens->count != 0)) {
SM_ASSERT_VALID(ctx, major);
break;
}