Cześć
mam 5 wątków i 5 filedescriptor'ów powiązanych z 5 socketami. Chciałbym móc wybudzić wątek po otrzymaniu dokładnie 2 pakietów. Więc wpadłem na pomysł że skorzystam z funkcji select i dodatkowej tablicy zawierającej informację ile pakietów dotychczas otrzymałem że dany socket. Wystarczyło by poczekać aż select zostanie odwieszone i zwróci wartość większą niż 0, znaleźć który socket otrzymał pakiet i dokonać inkrementacji licznika. Problem w tym że select stwierdza gotowość danych do czasu wykonania recv, a ja tego nie mogę zrobić bo to zadanie wątku który mam obudzić. Ma ktoś jakiś pomysł jak to obejść lub rozwiązać sposób inaczej ?
0
0
Muteksy? Sekcje krytyczne?