- 主题:kevent的问题
手头有个旧程序,在Linux平台用kevent而非epoll监听事件
当我想看看它运行时在干什么的时候,我就用strace命令挂上去
结果kevent syscall居然就返回了负数,附带EINTR错误
类似的情况,如果是epoll,我记得strace应该是可以看到,这个程序正在执行
epoll_wait的吧;为什么到kevent世界,稍微一观测就塌缩呢?
--
修改:JulyClyde FROM 222.71.112.*
FROM 222.71.112.*
kevent 和 kqueue 不都是是 bsd 的吗?
linux 怎么会有 kevent 呢?
【 在 JulyClyde 的大作中提到: 】
: 手头有个旧程序,在Linux平台用kevent而非epoll监听事件
: 当我想看看它运行时在干什么的时候,我就用strace命令挂上去
: 结果kevent syscall居然就返回了负数,附带EINTR错误
: ...................
--
FROM 59.60.25.*
不惜移植内核,也要坚持使用的旧软件
【 在 hgoldfish 的大作中提到: 】
: kevent 和 kqueue 不都是是 bsd 的吗?
: linux 怎么会有 kevent 呢?
--
FROM 222.71.112.*
你把kevt移植到linux上面去了?
【 在 JulyClyde 的大作中提到: 】
: 不惜移植内核,也要坚持使用的旧软件
--
FROM 121.69.86.*
我strace进去其实还是epoll
不知是不是拿wrapper冒充的syscall
【 在 chunhui 的大作中提到: 】
: 你把kevt移植到linux上面去了?
--
FROM 139.227.19.*
那可能是把这个程序移植了。
【 在 JulyClyde 的大作中提到: 】
: 我strace进去其实还是epoll
: 不知是不是拿wrapper冒充的syscall
--
FROM 121.69.86.*
用libevent就行了
--
FROM 103.91.176.*
libevent是在各平台选各自的
和我的这情况根本不一样
【 在 redor 的大作中提到: 】
: 用libevent就行了
--
FROM 139.227.19.*
kevent只有bsd系列采用,要一致只能用可兼容的第三方封装库,貌似没有别的办法。
【 在 JulyClyde 的大作中提到: 】
: libevent是在各平台选各自的
: 和我的这情况根本不一样
--
FROM 103.91.176.*
我这里的内核是改过的
我还以为是移植到内核里去了
没想到strace看了看其实是epoll
那内核里到底改了啥呢
【 在 redor 的大作中提到: 】
: kevent只有bsd系列采用,要一致只能用可兼容的第三方封装库,貌似没有别的办法。
--
FROM 222.71.112.*