*): 将select前后设置和维护timeout的工作放到函数timeout_next()和timeout_process()中