Hallo Liste,

ich habe in Control6 eine Ausgabeschleife, die beim Vorliegen bestimmter
Bedingungen einen String per UESEND verschickt. So etwa:

THREAD(main_loop)

  for (;;) {

    if (Bedingung1)

UESEND(255.255.255.255, "%s", buffer1);

    if (Bedingung2)

UESEND(255.255.255.255, "%s", udp_buffer2);

    PT_YIELD(pt);

  }

THREAD_END(main_loop)


Funktioniert meist sehr gut. Nur wenn beide Bedingungen zutreffen, kommt
die zweite Nachricht nicht an. Ich nehme an es liegt daran, dass die erste
Nachricht im Hintergrund noch verschickt wird und daher die zweite
Nachricht verworfen wird.

WAITs vor und nach dem UESEND und auch zusätzliche PT_YIELDs haben nichts
geholfen.

Gibt es eine Möglichkeit, dien Sendezustand abzufragen und solange zu
warten, bis der Versand einer Nachricht abgeschlossen ist?


Grüße,

Uwe
_______________________________________________
Ethersex-devel mailing list
Ethersex-devel@list.zerties.org
http://list.zerties.org/cgi-bin/mailman/listinfo/ethersex-devel

Antwort per Email an