Alle Portoperationen in Rebol 3 sind asynchron. Die einzige Möglichkeit, eine synchrone Kommunikation durchzuführen, ist das Anrufen wait
.
Das Problem beim Aufrufen von wait besteht in diesem Fall darin, dass Ereignisse für alle offenen Ports überprüft werden (auch wenn sie sich nicht in dem zum Warten übergebenen Portblock befinden). Dann rufen sie ihre antwortenden Ereignishandler auf, aber in einem dieser Ereignishandler kann ein Lese- / Schreibvorgang durchgeführt werden. Dies könnte zu rekursiven Aufrufen zum "Warten" führen.
Wie komme ich darum herum?