Obudzenie wątku po odebraniu 2 pakietów

0

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

Muteksy? Sekcje krytyczne?

1 użytkowników online, w tym zalogowanych: 0, gości: 1