In some places, we just calls `usleep` / `sleep` without chekcing EINTR. This sleeps will be interrupted if the signal comes. We should use nanosleep(req, remaining) and if interrupted by signal, we should reexecute it with remaining.