{{cdfs}和{cdfs}一起工作时,{cdfs}和 这很简单: 但是,我想为这段代码编写测试,并为依赖它的应用程序编写模拟测试。所以,我需要能够引起 我尝试过使用Unix域套接字,但是在域套接字连接之后,我无法打开文件进行读取( 我想要一种方法来打开一个常规文件,或者创建一个可以像普通文件一样打开的文件,并且能够向它发送一个被视为“紧急数据”的消息流。即 我能做什么?在poll = select.poll()
poll.register(filename, select.POLLPRI | select.POLLERR)
result = poll.poll(timeout=timeout)
POLLPRI
事件。在errno 6
,没有这样的设备)。我还尝试使用带有SOCK_DGRAM
的套接字,但如果文件尚未创建,则无法找到该文件,或者导致连接被拒绝。在MSG_OOB
。在
似乎可以通过轮询procfs中公开的sysctl来实现这一点。如果您查看poll implementation in procfs for the ^{} subdirectory ,您将看到任何实现轮询通知的sysctl都将返回一个包含
POLLERR|POLLPRI
的掩码。那么我们如何找出是什么sysctl实现了这一点呢?我们寻找proc_sys_poll_notify
的用法!在其中一个这样的位置在^{} ,它在}可以编写(另请参见它们的table entries)。在
/proc/sys/kernel
下实现了许多sysctl。其中大多数是只读的,但是hostname
和{当然,这需要root权限才能写入,例如
/proc/sys/kernel/hostname
。在这可能是在一个合成文件系统实现中完成这一任务的最简单方法。当然,测试代码的唯一方法是
poll(2)
你的一个引脚,按下按钮,看看你的上升/下降信号是否中断。在注意:sysfs also does this for edge nodes in the tree:
10
当然是POLLPRI (0x2) | POLLERR (0x8)
。我使用/sys/power/state
作为输入得到相同的结果。基本上,如果在sysfs中轮询任何用户可读的非目录文件条目,您将得到POLLPRI | POLLERR
。在相关问题 更多 >
编程相关推荐