libuv中关于linux-syscalls和linux-inotify模块

Linux-syscalls这个模块主要是定义了一些系统调用和一些常量,这样做主要是为了弥补一些较旧的glibc没有提供比如inotify等等头文件的缺点。当然它不会去实现这些系统调用。

从代码上看,它屏蔽了不同的cpu架构,对外提供统一的接口。这些接口,有套接字相关的、epoll相关的、inotify相关、读写相关、管道相关等等。

系统调用

接口

__NR_socketcall

Socket函数

__NR_accept4

Accept函数

__NR_eventfd

Eventfd函数

__NR_eventfd2

epoll_create1

__NR_epoll_create

epoll_create

__NR_epoll_create1

epoll_create1

__NR_epoll_ctl

epoll_ctl

__NR_epoll_wait

epoll_wait

__NR_epoll_pwait

epoll_pwait

__NR_inotify_init

inotify_init

__NR_inotify_init1

inotify_init1

__NR_inotify_add_watch

inotify_add_watch

__NR_inotify_rm_watch

inotify_rm_watch

__NR_pipe2

pipe2

__NR_recvmmsg

recvmmsg

__NR_sendmmsg

sendmmsg

__NR_utimensat

utimensat

__NR_preadv

preadv

__NR_pwritev

pwritev

__NR_dup3

dup3

 

 

 

 

 

 

 

 

                    

 

 

 

 

 

 

 

 

 

 

 

 

 






基本可以从系统调用中看出其对应的库函数来。

 

关于系统调用的一些资料可以参考

http://blog.csdn.net/absurd/article/details/1656944

http://blog.csdn.net/b02042236/article/details/6136598

这里就不复制了。

 

关于inotify 文件系统变化通知可以参考以下内容:

http://www.ibm.com/developerworks/cn/linux/l-inotifynew/

 

linux-inotify.c文件主要实现借助inotify来对fs事件进行管理。它使用了红黑树来管理同一个loop的watch descriptor,快速高效的实现对watch descriptor存取工作。整体实现流程函数比较清晰明了的。

 

本人享有博客文章的版权,转载请标明出处http://blog.csdn.net/baidu20008

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值