Created attachment 166079 [details]
patch with fixes to make kevent-based file system monitor work on FreeBSD
Attached patch includes several fixes that are needed to make the kevent-based file system monitor work on FreeBSD (vs. Darwin). The patch should apply cleanly against the current version of the port.
Also available on Github: https://github.com/mono/mono/compare/mono-18.104.22.168...razzfazz:mono-22.214.171.124-freebsd_port_patch
Could you confirm this change passes QA (portlint, poudriere) please
Sorry, I haven't tried (nor am I familiar with) either of these.
These changes are probably redundant with the ones in bug #198727.
kqueue has been fixed and broken again quite many times. I would prefer an upstream fix rather than another local hack.
Can you please consider refactoring the code in order to extend mono's ability to work with FreeBSD's kevent instead of replacing MacOS's kevent support? That way, both implementations would be able to exist side by side, and a new Factory would permit to choose the correct implementation at runtime?
A pull request could then be created on GitHub.
Feel free to notify me (@smortex) on GitHub in case I can help make this happen!
Created attachment 173875 [details]
updated patch for version 126.96.36.199
Adding updated patch for current port version 188.8.131.52; this is also available at <https://github.com/razzfazz/mono/tree/mono-184.108.40.206-freebsd_port_patch>.
Sorry, wrong URL:
Is this planned to be added to upstream mono?
Created attachment 176608 [details]
updated patch for version 220.127.116.11
Attaching updated patch for current port version 18.104.22.168; this is also available at <https://github.com/mono/mono/compare/mono-22.214.171.124...razzfazz:mono-126.96.36.199-freebsd_port_patch>.
I'm currently AFK, but I'll look at this on my return (21 November). In the interim would you please report the results of `make test`.
Did you have a PR for this with mono? That would be nice if this could get upstreamed so there would not need to be a patch maintained.
Also, is there an updated patch for mono v4.8.1?
I did submit pull requests for these changes upstream; let me check whether all of them have been merged by now.
Some parts of the patch are still not in upstream, and likely never will be (since they don't apply to and might break things on OSX); I didn't actually submit pull requests for those. That being said, it looks like the existing patch still applies cleanly to the mono version currently in the ports tree (188.8.131.52).
Let's track this in the related issue, which has had some more recent activity.
*** This bug has been marked as a duplicate of bug 198727 ***