Korekcije zadataka u vežbama 9 i 10

12. Maj 2016

Na repozitorijumu su izvršene sledeće korekcije zadataka iz vežbi 09 i 10:
1) Dodata je funkcija main u sve zadatke. Svi zadaci dolaze koji dolaze na PP će imati dat main sa testnim scenarijem.

2) Svuda gde ima detach na cikličnoj niti dodat je poziv funkcije exit(0) na kraju programa. Funkcija exit(0) šalje direktan signal kraja programa svim nitima koje je main stvorio pa tako i cikličnoj niti koju momentalno prekida u trenutku poziva funkcije exit. U slučaju da se ovo ne uradi, može doći u retkim slučajevima do čitanja invalidnih memorijskih lokacija - kao npr. u programu iz vežbi 10 - sažimanje. Tu se u retkim slučajevima može desiti na kraju programa segmentation fault ili ispis čudnih brojeva jer se kopira vektor iz nepostojećih adresa deljene promenljive tj. nakon što je deljena promenljiva uništena (main je završen) a ciklična nit je ostala da radi. Uvođenjem poziva funkcije exit(0) rešava se i ovaj problem tj. nedozvoljava se cikličnoj niti da radi sa deljenom promenljivom koja je uništena krajem niti main.

3) Svi zadaci imaju standardne include-ove u sebi (mutex, cv...) Studenti treba da dodaju samo specifične include-ove za dati tip zadatka (npr. vector).

4) Poboljšani komentari u više zadataka.

5) U zadatku sažimanje poboljšan je testni scenario tako da procesi ne oslobađaju memoriju istovremeno već postupno.

6)  U zadatku sažimanje algoritam sažimanja je značajno uprošćen. Ne radi se šiftovanje blokova već kopiranje korišćenih blokova iz starog vektora u novi vektor.