Semaphore

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Semaphore
Hallo Leute,

ich glaube, wenn es so weiter geht sehe ich den Wald vor lauter Bäumen nicht. :wand:
Ich sitze gerade vor der Programmieraufgabe von März06 bei der es bei einem Teil um die Erzeugung und Initialisierung von Semaphoren geht.
Mit ist klar, dass es über sem_init gehen muss und sem_init als Parameter einen int-Wert mitbekommt.
Aber irgendwie kriege ich es nicht gebacken :vogel: , dies bei dieser Aufgabe anzuwenden. Wäre jemand so lieb und könnte kurz den Code kurz eintippen.


ich sitz auch grad drueber und hab das so geloest

/* Ringpuffer vorbereiten */
  b->next_free = 0;
  b->next_full = 0;
  b->full_buffers = sem_init(0);
  b->empty_buffers = sem_init(NBUFFER);
  b->mutex_buffer = sem_init(1);
  b->mutex_socket = sem_init(1);

edit: den mutex_socket brauch ich doch nicht, ich war anfangs etwas verwirrt wer der producer und der konsumer ist und welchen davon es mehrmals gibt

Wie ich das sehe gibt es argc-1 Producer die die verzeichnise durchsuchen
und einen Consumer die die Dateien an den Server sendet.