Odświeżenie przyklady07-fork-exec-wait
-
W err.h dodane makro ASSERT_SYS_OK, żeby zamiast pisać długie linijki postaci
if (close(pipe_dsc[0]) == -1) syserr("Error in close(pipe_dsc[0])\n");
wystarczało
ASSERT_SYS_OK(close(pipe_dsc[0]));
(na kolejnych zajęciach, z pipe, co druga linijka będzie tej postaci).
-
Zmiana stylu wołania forka, z użycia
switch
na
pid_t pid;
ASSERT_SYS_OK(pid = fork());
if (!pid) {
// child
} else {
// parent
}
Wydaje mi się, że szczególnie w tree.c to jest czytelniejsze. A przy okazji każde wywołanie systemowe jest tak samo otoczone ASSERT_SYS_OK
, nie potrzeba syserr
(również w późniejszych modułach).
- Parę innych drobnych zmian np. w wypisywanych stringach.
- Uproszczony CMakeLists.txt, z ustalonymi wersjami: C11 (i C++17)
- Wszystko sformatowane z clang-tidy.
- Dodana konfiguracja lintera clang-format (żeby nie wyskakiwały niepotrzebne warningi przy domyślnych ustawieniach niektórych IDE, za to pokazywały się bardziej przydatne).
Edited by Marcin Wrochna