Thread overview
[Issue 22615] Wrong OS version and struct kevent_t in FreeBSD 13
Dec 21, 2021
Eugene
Dec 21, 2021
Eugene
Dec 21, 2021
Eugene
Dec 17, 2022
Iain Buclaw
December 21, 2021
https://issues.dlang.org/show_bug.cgi?id=22615

Eugene <dee0xeed@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dee0xeed@gmail.com

--
December 21, 2021
https://issues.dlang.org/show_bug.cgi?id=22615

--- Comment #1 from Eugene <dee0xeed@gmail.com> ---
@bsd:~/d> dmd --version
DMD64 D Compiler v2.098.0

LDC2 standart library does not have core.sys.freebsd.config module, but kevent_t.sizeof is also wrong:

bsd:~/d> ldc2 -v
binary    /usr/local/bin/ldc2
version   1.23.0 (DMD v2.093.1, LLVM 10.0.1)
@bsd:~/d> ldc2 freebsdver.d
@bsd:~/d> ./freebsdver
sizeof(kevent_t) = 32

Must be 64, see exerpt from /usr/include/sys/event.h:

new, 12+:

struct kevent {
        __uintptr_t     ident;          // identifier for this event
        short           filter;         // filter for event
        unsigned short  flags;          // action flags for kqueue
        unsigned int    fflags;         // filter flag value
        __int64_t       data;           // filter data value
        void            *udata;         // opaque user data identifier
        __uint64_t      ext[4];         // extensions
};

old, 11-:

#if defined(_WANT_FREEBSD11_KEVENT)
// Older structure used in FreeBSD 11.x and older.
struct kevent_freebsd11 {
        __uintptr_t     ident;          // identifier for this event
        short           filter;         // filter for event
        unsigned short  flags;
        unsigned int    fflags;
        __intptr_t      data;
        void            *udata;         // opaque user data identifier
};
#endif

--
December 21, 2021
https://issues.dlang.org/show_bug.cgi?id=22615

--- Comment #2 from Eugene <dee0xeed@gmail.com> ---

LDC2 stdlib module (/usr/local/include/d/core/sys/freebsd/sys/event.d)
does not contain struct kevent_t for versions 12+ at all, so, "no problem" :)

--
December 17, 2022
https://issues.dlang.org/show_bug.cgi?id=22615

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P1                          |P3

--
December 01
https://issues.dlang.org/show_bug.cgi?id=22615

--- Comment #3 from dlangBugzillaToGithub <robert.schadek@posteo.de> ---
THIS ISSUE HAS BEEN MOVED TO GITHUB

https://github.com/dlang/phobos/issues/10486

DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB

--