[OSy] Poznamka k api
Tomas Pop
Tomas.Pop at seznam.cz
Tue Oct 31 20:46:16 CET 2006
Zdravim,
prave jsem se dostal k implementaci mutexu, delam je prostrednictvim semaforu, ale narazil jsem na nasledujici problemy:
1)
funkce sem_down_timeout() vraci void, ale funkce mutex_lock_timeout() vraci int... takze zpusob implementace typu
int mutex_lock_timeout (struct mutex * mtx, const unsigned int usec){
...
res = sem_down_timeout(&(mtx->sem), usec);
...
return res;
}
neni mozna.
Vadi, kdyz si deklarujeme funkci sem_down_timeout() jako int ? tetum by to nemelo vadit, ale asi to je v rozporu se zadanim.
2)
Druha nejasnost je spis moje neznalost Cecka, ale kdyz uz ten mejling list je...
vsechny mutexove funkce pouzivaji jako parametr struct mutex * mtx.
je nejaka moznost jak definovat struct mutex jako struct semaphore?
typedef nahlasi
error: two or more data types in declaration specifiers nnnkalisto/src mutex.h line 6
takze me nenapadlo nic hezciho nez deklaroavat
struct mutex {
struct semaphore sem;
} ;
ale to vede k volanim se skaredym parametrem, napr.: sem_down_timeout(&(mtx->sem), usec);
coz neni asi moc pekne. Mate nekdo nejaky napad? Nebo jsem nejak uplne mimo?
Dik, Tomas Pop
More information about the NSWI004
mailing list