fix timer of fd64

This commit is contained in:
wangyu-
2017-10-30 08:19:21 -05:00
parent e8398d0d31
commit a54a0e269b
3 changed files with 8 additions and 6 deletions

View File

@@ -951,7 +951,7 @@ int set_timer(int epollfd,int &timer_fd)//put a timer_fd into epoll,general func
}
int set_timer_server(int epollfd,int &timer_fd)//only for server
int set_timer_server(int epollfd,int &timer_fd,fd64_t &fd64)//only for server
{
int ret;
epoll_event ev;
@@ -969,9 +969,11 @@ int set_timer_server(int epollfd,int &timer_fd)//only for server
its.it_value.tv_nsec=1; //imidiately
timerfd_settime(timer_fd,0,&its,0);
fd64=fd_manager.create(timer_fd);
ev.events = EPOLLIN;
ev.data.u64 = pack_u64(2,timer_fd);////difference
ev.data.u64 = fd64;////difference
ret=epoll_ctl(epollfd, EPOLL_CTL_ADD, timer_fd, &ev);
if (ret < 0) {