disabling and enabling console output
Alex
AJ at gmail.com
Thu May 16 17:42:17 UTC 2019
On Thursday, 16 May 2019 at 17:19:13 UTC, Vladimir Panteleev
wrote:
> On Thursday, 16 May 2019 at 17:18:01 UTC, Alex wrote:
>> adding
>>
>> int dup(int) @trusted;
>> int dup2(int, int) @trusted;
>> int close(int) @trusted;
>> int open(in char*, int, ...) @trusted;
>
> Be sure to make them extern(C).
>
> Sorry, I haven't tried it, I'm guessing that it should work
> based on:
> https://github.com/digitalmars/dmc/blob/master/include/io.h#L142-L147
Ok, the issue is because I was adding
import core.stdc.stdio, core.stdc.stdio;
extern (C):
@system:
nothrow:
@nogc:
static int _dup(int);
static int dup2(int, int);
directly inside the PushFD struct... I marked them static and it
still didn't help. I don't know it's adding the class for the
lookup:
PushFD!(1).PushFD.dup2(int, int)"
(_D3mM__T6PushFDVii1ZQm4dup2UNbNiiiZi)
Unfortunately the code is crashing because _open or _sopen is
returning -1 for /dev/null
Works fine nul, NUL, and CONOUT$ but does not block the output.
I'm not sure if they are failing to block or if they are blocking
what is being opened(and not the original console). That is, do I
need to not open and simply close stdout?
More information about the Digitalmars-d-learn
mailing list