In the above process, what happens if:
This is indeed a tricky one. My initial thoughts were that this process would not finish if the second token went towards the end2 end event. However, the BPMN specification does not seem to clearly define this case. The only relevant reference about inclusive gateways that I could find in the Specification is that
Upon execution, a token is consumed from each incoming Sequence Flow that has a token. (BPMN Specification, Version 2, January 2011, page 435. My emphasis).
The word “has” raised some doubts in me and I found the following example in a BPMN book (Thomas Allweyer, BPMN 2.0), where the authors says that the converging inclusive gateway only waits for the tokens that can reach it and not necessarily all tokens that were created by a diverging inclusive gateway. That would also be in line with the formulation in the BPMN specification.
So in answer to your question, the “OR-JOIN” would indeed understand that it does not have to wait for the second token. The first token would be consumed by end1 and the second token by end2 and the process finishes normally.