The entry of mutex-unlock! only lists two forms, one with condition-variable and the other without it, dropping srfi-18's (mutex-unlock! mutex cv timeout) form. However, the description refers to timeout.
If it is just an overlook and we do have (mutex-unlock! mutex condition-variable timeout) form, there's another issue. If I have a logic involving a mutex and a condition variable and want to finish everything by a certain time. The thread can be woken up with the condition-variable multiple times until it finishes the task. With srfi-18, I can make a time object beforehand that represents the absolute time point, and I can keep passing it to mutex-unlock! whenever there is more task to do. Since srfi-226 drops the absolute time point timeout, I need to compute the relative timeout every time I need to reinvoke mutex-unlock!. It is doable, but somewhat annoying. --shiro