见鬼了!!!epoll_event的BUG。。。

C、C++和Java语言
回复
darkavenger
帖子: 2
注册时间: 2011-02-21 15:05
送出感谢: 0
接收感谢: 0

见鬼了!!!epoll_event的BUG。。。

#1

帖子 darkavenger » 2011-03-18 17:56

#include <stdio.h>
#include <stdlib.h>

#include <sys/epoll.h>

int main(int argc, char **argv)
{
int fd=4;
int* px=&fd;
struct epoll_event ev;

ev.data.fd = fd; //标记1
ev.data.ptr=px; //标记2
ev.events = EPOLLIN | EPOLLOUT;

return 0;
}


这个简单的几行代码,竟然出莫名其妙的问题;

单步调试:
执行完标记1,ev.data.fd的值为4;
执行完标记2,ev.data.fd的值就被修改了。。。这是怎么回事?

我的系统是Ubuntu10.10-AMD64(2.6.35-28-generic)
开发环境都是直接apt-get安装的
回复

回到 “C/C++/Java”