Since the granularity of checking is second as long as timeout and proc sleep duration are apart by more than a sec it should succeed all the time.