Wszystkie operacje na portach w Rebol 3 są asynchroniczne. Jedynym sposobem, w jaki mogę znaleźć komunikację synchroniczną, jest dzwonienie wait
.
Ale problem z wywołaniem wait w tym przypadku polega na tym, że sprawdza zdarzenia dla wszystkich otwartych portów (nawet jeśli nie znajdują się one w bloku portów przekazanym do oczekiwania). Następnie wywołują odpowiadające im programy obsługi zdarzeń, ale odczyt / zapis można wykonać w jednym z tych programów obsługi zdarzeń. Może to spowodować rekurencyjne wywołania „czekania”.
Jak mam to obejść?