OS-X上的Mono:Filesystem Watcher Handle Leak?

时间:2017-03-02 14:11:58

标签: c# macos mono

我不完全确定这里发生了什么,但是出了点问题......

首先,我的代码:

routeWatcher = new FileSystemWatcher();
routeWatcher.Path = Folder;
routeWatcher.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName;
routeWatcher.Filter = "*.*";
routeWatcher.Changed += onRouteFolderChanged;
routeWatcher.EnableRaisingEvents = true;

这里没有什么特别有趣的,我只是订阅监视通过文件夹提供的文件夹(我的代码更进一步)

这适用于Windows& Microsoft运行时,正如预期的那样,它显示一个打开的句柄 - 文件夹的那个。

另一方面,在OS-X下,我在使用lsof -p或Activity Monitor时看到文件夹中每个文件的打开句柄。

然而有些事情有点奇怪,因为我预计ulimit会对包含超过256个文件的文件夹感到不满:

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 256
pipe size            (512 bytes, -p) 1
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 266
virtual memory          (kbytes, -v) unlimited

这不会发生在包含631个文件的文件夹中,一切正常。

我是否误解了某些东西,或者我遇到过某种单声道的错误?

0 个答案:

没有答案