Proper way to exit with specific exit code?
mw
mingwu at gmail.com
Sun Nov 13 23:05:38 UTC 2022
On Sunday, 13 November 2022 at 22:42:45 UTC, mw wrote:
> On Sunday, 13 November 2022 at 22:17:32 UTC, mw wrote:
>> On Sunday, 13 November 2022 at 22:06:09 UTC, Imperatorn wrote:
>>> On Sunday, 13 November 2022 at 21:37:47 UTC, mw wrote:
>>>> On Sunday, 13 November 2022 at 21:16:32 UTC, mw wrote:
>>>>
>>>>> I even tried core.stdc.stdlib.exit(-1), it does not work.
>>>>
>>>> Tried
>>>> ```
>>>> import core.runtime;
>>>> Runtime.terminate();
>>>> core.stdc.stdlib.exit(-1);
>>>> ```
>>>>
>>>> Still does not work.
>>>
>>> I have no idea why it would fail. What about assert(0)?
>>
>>
>> I guess these two calls somehow only terminate the calling
>> thread (? this is strange for core.stdc.stdlib.exit), the
>> whole program just hangs after the call, and can only be
>> terminated by `kill -9`.
>>
>>
>> I have to manually go thru each of the treads and plug in some
>> kind of early exit logic to stop the whole program.
>>
>>
>> Will try assert(0) later.
>
> tried:
>
> ```
> core.runtime.Runtime.terminate();
> core.stdc.stdlib.exit(-1);
> assert(0);
> enforce(false);
> ```
>
> Still not working, not even "Ctrl+C", have to `kill -9` to
> terminate it.
Tried put assert(0) at the top:
```
assert(0);
enforce(false);
core.runtime.Runtime.terminate();
core.stdc.stdlib.exit(-1);
```
Seems cannot even terminate the calling thread, since I got that
assertion error thousands of times in the log.
More information about the Digitalmars-d-learn
mailing list