Hi David,
Your understanding is right. In some part in the I2C_DRV_MasterSendDataBlocking() a OSA_SemaWait functions is called. You can check the next i2c wait functions:

therefore waiting for a semaphore to be posted by another event or task will cause a wait in the current task allowing other tasks be handled by the Operating System meanwhile.
Hope this information can help you
Best Regards,
Adrian Sanchez Cano
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------