又是一件折腾了我一天的事情。其实epoll代码早就会写了,lib里面早就支持了epoll,但一直停留在“支持”阶段。实际上却是没有用起来过。公司装了一台机器,里面有epoll.h和epoll.a,但核心却不是2.6,所以机器上能编译但不能运行。另外一台机器升级了内核,但却怎么也找不到epoll.h和epoll.a。所以郁闷了很久,于是下定决心,要把这个问题搞个清楚。终于,在向东博士的帮助下,把问题解决了。
其实网上也有很多的介绍,例如 http://www.xmailserver.org/linux-patches/nio-improve.html
从网上下载了一个 epoll-lib-0.11.tar.gz ,把它放到已经升级内核到2.6的Redhat9机器,解开。然后进去make,发现没有mkdep……也懒得管了,直接来一个:make lib/libepoll.a
跳过了mkdep这一步,但还是出错:
./src/epoll.c: In function `epoll_create':
./src/epoll.c:28: error: `__NR_epoll_create' undeclared (first use in this function)
./src/epoll.c:28: error: (Each undeclared identifier is reported only once
./src/e
其实网上也有很多的介绍,例如 http://www.xmailserver.org/linux-patches/nio-improve.html
从网上下载了一个 epoll-lib-0.11.tar.gz ,把它放到已经升级内核到2.6的Redhat9机器,解开。然后进去make,发现没有mkdep……也懒得管了,直接来一个:make lib/libepoll.a
跳过了mkdep这一步,但还是出错:
./src/epoll.c: In function `epoll_create':
./src/epoll.c:28: error: `__NR_epoll_create' undeclared (first use in this function)
./src/epoll.c:28: error: (Each undeclared identifier is reported only once
./src/e