[OSy] Uprava zadani 1. semestralni prace

Lubomír Bulej lubomir.bulej at mff.cuni.cz
Thu Oct 28 20:38:24 CEST 2004


Dobry den,

Vas kolega pan Palkovsky prisel na nasledujici problem:

> void sem_down_timeout (struct semaphore * sem, uint msec)
> Varianta _timeout ceka na dekrementovani semaforu nejdele msec
> milisekund. 
> 
> semaphore3/test.c:
> #define SEM_TIMEOUT_MS  2000
> ...
> result = sem_down_timeout (& sem, SEM_TIMEOUT_MS * 1000);
> 
> Vzhledem k tomu, ze 2000Milisekund * 1000 je, pokud se nepletu, 2000
> sekund=cca pul hodiny, doporucuji odstranit to '* 1000', jinak by to
> testovani probihalo zbytene dlouho ;-)


Bohuzel, tato chyba se netyka pouze Semaphore3/test.c, ale vsech testu, kde 
jsou volany _timeout funkce. Pri psani testu jsem si neuvedomil, ze v zadani 
byly timeouty zadavany v milisekundach, zatimco u naseho testovaciho jadra 
jsou v mikrosekundach. Za tuto chybu se omlouvam a dekuji za upozorneni.

Pravdepodobne nejrozumnejsi zpusob, jak z toho ven je uprava zadani tak,
ze _timeout varianty funkci ocekavaji specifikaci timeoutu v mikrosekundach 
(viz prilozena aktualizace zadani), potom zacnou volani v testech davat smysl.

Verim, ze tato zmena v zadani nepredstavuje vazny implementacni problem.


Lubomir Bulej
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: Assignment-1.txt
URL: <http://d3s.mff.cuni.cz/pipermail/nswi004/attachments/20041028/8544479f/attachment.txt>


More information about the NSWI004 mailing list