Execute_item() method of sequencer

  1. sequence passes in a transaction
  2. transaction is grabbed by loop, and sent down pipe by execute_item().
  3. After bus activity occurs, execute_item returns, and item_done() occurs.
  4. Loop starts over, waiting on get_next_item.

problem… the “finish_item” statement in the sequence never returns.

Interestingly, if I remove the execute_item() statement, the finish_item WILL return, and continue sending more transactions.

Thoughts?

In reply to bmorris:

Don’t send the same object you received from get_next_item() down the pipe, clone it and send the clone. Once you start the item on the lower sequencer, the item’s context is changed and the original call to finish_item won’t return.