In reply to rbasnet:
In reply to dave_59:
The objection raising/dropping is redundant. That was my bad. Now I got rid of the objection but still the execution comes out of the forever loop. I tried with the fork_join and fork_join_any to see if that makes any difference but no. I also completely got rid of the fork and tried with the forever loop only and i could see that the execution still exits the forever loop. What is going on here? Seems like I am missing something here.
From the simulation it seems that the loop executes as many times as I have items in the fifo. If there are no items in the fifo, regardless of the call to get method, the loop exits. My understanding is the execution should stuck in the call to get method as it is a blocking call even if there are no items in the fifo. What is that I am missing here?