>If acuireFileLock() succeeds, why do you still want to check this timeout value?

Overally this helper has two level of locks. First level locks data file for a certain mutex item and second level is the mutex locking mechanism itself. I think this comment may help you to understand the main idea of this class: https://github.com/yiisoft/yii2/pull/571#discussion_r4831408