Powrót na stronę UNIX

Tematyka zadania: sygnały
Sprawdzający: Marcin Borkowski
Oddanie zadania: do katalogu: /home2/samba/borkowskim/unix/

Program uruchamiany jest z dowolną niezerową ilością cyfr parametrów, każdy parametr jest obsługiwany równolegle przez proces potomny.

Proces potomny losuje czas [0-1000) ms jaki odczeka zanim przystąpi do działania, po tym czasie zaczyna wysyłać swoją liczbę w postaci binarnej za pomocą sygnałów USR1(0) i USR2(1) do rodzica. Pomiędzy kolejnymi sygnałami konieczna jest 1 ms przerwy. Po wysłaniu liczby, proces potomny kończy się.

Proces rodzic oczekuje na sygnały od procesów potomnych, pierwszy otrzymany sygnał uruchamia licznik czasu, jeśli podczas kolejnych 8 ms otrzyma dokładnie 4 sygnały to należy je zdekodować i wypisać wynik na ekran. Jeśli liczba sygnałów będzie różna od 4 to należy wypisać tekst "PORAZKA". Kolejny sygnał restartuje licznik. Odbieranie sygnałów trwa dopóki są jeszcze aktywne procesy potomne.

Należy elegancko radzić sobie z nie-cyframi podanymi jako parametry.

Szczególna uwagę zwracamy na:
Powrót na stronę UNIX