Bug 22670 – Support *BSD kqueue-backed API-compatible inotify shim library

Status
RESOLVED
Resolution
FIXED
Severity
enhancement
Priority
P1
Component
druntime
Product
D
Version
D2
Platform
x86
OS
Windows
Creation time
2022-01-12T22:23:17Z
Last change time
2022-01-12T23:39:15Z
Keywords
pull
Assigned to
No Owner
Creator
Brian Callahan

Comments

Comment #0 by bcallah — 2022-01-12T22:23:17Z
Hi all -- This one is a bit of a weird one. While inotify is a Linux interface, there exists a kqueue-backed API-compatible inotify shim library for the BSDs (including macOS): https://github.com/libinotify-kqueue/libinotify-kqueue It is modern and upkept in terms of maintenance. I would like to add support for this in druntime. I believe it makes the most sense to leave the inotify module where it is under the Linux system, since it is a Linux interface. Program and library authors will be able to keep doing the right thing, i.e., assuming that inotify is a Linux interface and needs no compatibility concern for non-Linux systems, ensuring no breakage in existing code and no needless changes or thought processes for future code. It is the responsibility for non-Linux systems to make sure they have the needed library at link time in order for things to work, like they'd need any other library (e.g., cURL, which is not included by default on any open-source BSD system). This allows me to build and run the open source OneDrive client written in D (https://github.com/abraunegg/onedrive) without any changes to the program's source code.
Comment #1 by dlang-bot — 2022-01-12T22:27:01Z
@ibara created dlang/druntime pull request #3669 "Add support for the *BSD kqueue-backed inotify shim library." fixing this issue: - Add support for the *BSD kqueue-backed inotify shim library. Fix Issue 22670 - Support *BSD kqueue-backed API-compatible inotify shim library https://github.com/dlang/druntime/pull/3669
Comment #2 by dlang-bot — 2022-01-12T23:39:15Z
dlang/druntime pull request #3669 "Add support for the *BSD kqueue-backed inotify shim library." was merged into master: - 370666ebcba0e7536c1340a4e611fede03220811 by Brian Callahan: Add support for the *BSD kqueue-backed inotify shim library. Fix Issue 22670 - Support *BSD kqueue-backed API-compatible inotify shim library https://github.com/dlang/druntime/pull/3669