Re: The "Unix Philosophy 2020" document
>> Macros and/or helper functions (again cf. [1]; they can be factored into
>> a mini-library in nosh) can also be used to reduce boilerplate like
>> > const int error(errno);
>> > std::fprintf(stderr, ..., std::strerror(error));
>> > throw EXIT_FAILURE;
>> which can be easily observed after the attached patch is applied.
>
> The first chunk in the patch is incorrect, and the new code should be
> (in other words, swap the `ENOENT == error' and the `const int' lines)
>> if (!self_cgroup) {
>> if (ENOENT == error) return; // This is what we'll see on a BSD.
>> const int error(errno);
>> std::fprintf(stderr, "%s: FATAL: %s: %s\n", prog, "/proc/self/cgroup", std::strerror(error));
>> throw EXIT_FAILURE;
^^^^^^^^^^^^^^^^^^^^^^^^^^ using an exception here looks like a REALLY brilliant idea to me
>> }
why C++ btw ?
i don't see any benefit in not using C in the first place,
since when does one write Unix system tools in C++ ?
is it the added "advantage" of bloated binaries and additional
lib dependencies ?
Received on Sat Nov 30 2019 - 12:13:58 UTC
This archive was generated by hypermail 2.3.0
: Sun May 09 2021 - 19:44:19 UTC