( Hiena | 2015. 02. 26., cs – 21:48 )

Annó olyasmit tanultam, hogy egyetlen programnak van joga feltétel nélküli végtelen ciklusban pörögni, a kernelnek. Meg olyasmit is, hogy a függvények visszatérési értékét vizsgálni szokás. T'om ez volt már vagy 20 éve és azóta sokat változott a világ.

Hogy miért gány a fenti megoldás: A pause visszatérési értéke -1, ha a hívó processz vagy szál terminálásra kerül vagy az adott szignált kezelő függvény visszatér. Bizony, ebben az esetben is visszatérhet a pause, ami aztán vizsgálat nélkül pörög tovább. Pedig ezeregy dolgot lehetett volna csinálni. pl. vizsgálhatná, hogy a crasht kiváltó állapot fenállását, vagy az azt kiváltó okot. Vagy ne adj isten újra lehetne indítani az egészet. Oh, wait...

Szoftver tervezésnél ugye szokás foglalkozni a egy adott állapot kezelésével és annak kihatásaival. Itt azonban szimplán emo lesz a kód és befordult. Ezt még csak el lehet nézni az én szintemen álló, hello.c-nél, de itt egy kibaszott init rendszerről van szó. Ha mást nem is, de annyit kutya kötelessége lenne tenni, hogy szól a tőle függő processzeknek, hogy "Béláim! Túltoltuk!". Az eredetileg közölt cikkben is ez okozta a problémát, hogy a nagy befordultsága miatt vidáman bezombultak a tőle függő processzek. Az általad közölt CrashShell (https://github.com/systemd/systemd/blob/e410b07d2aa64a653bc0e93b77856af…) "ez ellen nem véd", mert ugyan indít egy shellt, de utána ugyanúgy freezebe megy.

Ezek mind csak az én magánvéleményeim amik, lévén csak egy villanyszerelő vagyok, nem sokat jelentenek.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "