Thread overview | ||||||||
---|---|---|---|---|---|---|---|---|
|
June 15, 2020 Missing functions core.sys.linux.sched | ||||
---|---|---|---|---|
| ||||
Hey everyone! I started working with network namespaces in linux and there's a function is sched.h in C that allows a threat to switch namespace : setns (https://man7.org/linux/man-pages/man2/setns.2.html) I have checked both sched.d files from dmd and ldc and both are missing this function, although dmd's sched.d seems to be more complete than ldc's. Is there a reason for the missing function aside from not being up to date? What are the options for adding it? A C library for just this function? |
June 15, 2020 Re: Missing functions core.sys.linux.sched | ||||
---|---|---|---|---|
| ||||
Posted in reply to Begah | On Monday, 15 June 2020 at 13:34:14 UTC, Begah wrote:
> Is there a reason for the missing function aside from not being up to date? What are the options for adding it? A C library for just this function?
They probably just forgot to add it.
You can add it to your own code easily. Copy paste this into your code somewhere:
extern(C) int setns(int fd, int nstype);
And you can call it. A PR to druntime to add that to the official thing would prolly be accepted to.
|
June 15, 2020 Re: Missing functions core.sys.linux.sched | ||||
---|---|---|---|---|
| ||||
Posted in reply to Begah | On Monday, 15 June 2020 at 13:34:14 UTC, Begah wrote: > Hey everyone! > > I started working with network namespaces in linux and there's a function is sched.h in C that allows a threat to switch namespace : setns (https://man7.org/linux/man-pages/man2/setns.2.html) > I have checked both sched.d files from dmd and ldc and both are missing this function, although dmd's sched.d seems to be more complete than ldc's. > > Is there a reason for the missing function aside from not being up to date? What are the options for adding it? A C library for just this function? Laeeth ran dpp across a few missing ones as well. https://github.com/symmetryinvestments/symmetry-linux No idea if it is in there, but just so that you know. |
June 15, 2020 Re: Missing functions core.sys.linux.sched | ||||
---|---|---|---|---|
| ||||
Posted in reply to Adam D. Ruppe | On Monday, 15 June 2020 at 13:57:37 UTC, Adam D. Ruppe wrote:
> On Monday, 15 June 2020 at 13:34:14 UTC, Begah wrote:
>> Is there a reason for the missing function aside from not being up to date? What are the options for adding it? A C library for just this function?
>
> They probably just forgot to add it.
>
> You can add it to your own code easily. Copy paste this into your code somewhere:
>
> extern(C) int setns(int fd, int nstype);
>
>
> And you can call it. A PR to druntime to add that to the official thing would prolly be accepted to.
Thanks that works, i guess DMD links with the up-to-date C libraries!
If i find the time i'll try to check was is missing to possibly do a PR.
|
June 15, 2020 Re: Missing functions core.sys.linux.sched | ||||
---|---|---|---|---|
| ||||
Posted in reply to Sebastiaan Koppe | On Monday, 15 June 2020 at 14:19:50 UTC, Sebastiaan Koppe wrote:
> On Monday, 15 June 2020 at 13:34:14 UTC, Begah wrote:
>> Hey everyone!
>>
>> I started working with network namespaces in linux and there's a function is sched.h in C that allows a threat to switch namespace : setns (https://man7.org/linux/man-pages/man2/setns.2.html)
>> I have checked both sched.d files from dmd and ldc and both are missing this function, although dmd's sched.d seems to be more complete than ldc's.
>>
>> Is there a reason for the missing function aside from not being up to date? What are the options for adding it? A C library for just this function?
>
> Laeeth ran dpp across a few missing ones as well. https://github.com/symmetryinvestments/symmetry-linux
>
> No idea if it is in there, but just so that you know.
It wasn't in there but thanks for the heads up!
|
June 15, 2020 Re: Missing functions core.sys.linux.sched | ||||
---|---|---|---|---|
| ||||
Posted in reply to Begah | On Monday, 15 June 2020 at 14:52:02 UTC, Begah wrote:
> Thanks that works, i guess DMD links with the up-to-date C libraries!
yeah, the C function headers just have the prototype, the actual code it links to is whatever actually exists on your system. there's nothing special about it being in druntime, that's just for user convenience to have a list of things so they don't have to copy/paste themselves out of the man pages.
|
Copyright © 1999-2021 by the D Language Foundation