Moin,
Jörg W. schrieb:
> Ich denk schon. Da steht eindeutig die Anforderung, dass niemand mehr
> auf den Semaphor warten darf.
Die man-page hatte ich vorher schon gelesen, hat mich aber eher nicht
schlauer gemacht.
Ich hab' da halt einfach so ausm Bauch raus gestutzt mit den 2 Aufrufen
so direkt hintereinander. Die Frage ist/war, ob sicher ist, dass in dem
Moment, wo sem_post() zurueckkehrt, auch der (max. 1) Prozess, der
dadurch evtl. aus seinem sem_wait() aufgeweckt wurde, nicht mehr auf den
Semaphor zugreift. Klar, wenn da noch mehrere anstehen, bzw. nochmal
sem_wait() aufgerufen werden sollte, dann rumpelts im Karton. Ist klar.
> Ohne Kontext würde ich mal davon ausgehen, dass das bei dem von dir
> gezeigten Codeschnipsel nicht gewährleistet ist.
Kontext ist da schwierig - ich guck' mir da halt den Code an, und wenn
ich bei irgendwas mal stutzig werde, dann guck' ich halt nochmal genauer
hin. In dem Fall hier ist's eigentlich fuer mich an der Stelle schon
gut.
Nur guck' ich eher ungern immer gleich in den src der glibc, das ufert
sonst oft mal arg aus :-)
Gruss
WK