Skip to content

Odświeżenie przyklady07-fork-exec-wait

Marcin Wrochna requested to merge c_update_fork into main
  • 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

Merge request reports