On 7/25/17 10:27 AM, Shachar Shemesh wrote:
On 25/07/17 17:12, Stefan Koch wrote:
On Tuesday, 25 July 2017 at 13:50:16 UTC, Shachar Shemesh wrote:
The title really does says it all. I keep copying OS function declarations into my code, just so I can add those attributes to them. Otherwise I simply cannot call "signalfd" and "sigemptyset" (to name a couple from my most recent history) from @safe code.

I can try and set up a PR when I have the time. If anyone else wants to take an easy one before then, you're welcome to :-)

Shachar

these functions are supposed to have trused wrappers if used in safe code.

I'd love to hear the difference between:
extern(C) int signalfd (int __fd, const(sigset_t)* __mask, int __flags) nothrow @nogc;

and
int signalfdWrapper(int __fd, const(sigset_t)* __mask, int __flags) nothrow @trusted @nogc {
     return signalfd(__fd, __mask, __flags);
}

I think signalfd can be marked @trusted, as @safe code supports pointing at a single element.

Other system calls that accept a pointer/length combo cannot be marked @trusted.

-Steve

Reply via email to