我曾與libevent2一段時間,但通常我用它來處理網絡I/O(使用套接字)。現在我需要閱讀許多不同的文件,所以我也想使用它。我創建了這段代碼:問題處理文件I/O與libevent2
int file = open(filename, O_RDONLY);
struct event *ev_file_read = event_new(ev_base, file, EV_READ | EV_PERSIST, read_file, NULL);
if(event_add(ev_file_read, NULL))
error("adding file event");
不幸的是它不起作用。嘗試添加事件時收到此消息:
[警告] Epoll ADD(1)在fd 7上失敗。舊事件爲0;讀取更改爲1(添加);寫變化爲0(無):不允許操作 添加文件事件:操作不允許
文件存在,並有權讀/寫。
任何人有任何想法如何使用libevent處理文件IO?我還想過關於緩衝事件,但在API中只有函數bufferevent_socket_new(),這不適用於此。
在此先感謝。
哦,上帝,我浪費了太多時間試圖弄清楚這一點。謝謝 – c00kiemon5ter 2012-04-04 01:46:42