pthread_mutex_timedlock
EINTR
According to posix spec, this function should never return `EINTR`. This fixes the call to `pthread_mutex_take` so it keeps retrying the lock and doesn't return `EINTR`