浏览一下Linux内核,我发现wait_event_interruptible()的返回值几乎总是由if-block而不是while循环检查的: if (mutex_lock_interruptible(lock)) {} 为什么不在while循环中检查返回值,即使等待被信号处理程序中断,也要继续尝试?为什么驱动程序编写器要为系统调用返回-ERESTARTSYS以重新启动?这不是更贵吗? while (mutex_lock_interruptible(lock)) {
&
我正在尝试找到一种方法来检测闪存驱动器何时插入我的计算机。到目前为止,我发现的解决方案是轮询的更改。这确实会告诉我闪存驱动器何时插入,但据我所知,没有办法检索它的位置。和似乎都非常不可靠,因为它们的返回值是特定于实现的,但它们似乎是唯一可以返回任何相关信息的方法,这些信息可能有助于查找FileStore的目录。,FileStore#name返回驱动器的设备文件的位置。2.1.1pre) (7~u3-2.1.1~pre1-1ubuntu2)
OpenJDK Client VM (build 22.0-b10, mixed m