Cześć, Próbowałem poprawić dzisiaj błąd w Kadu na Windows polegający na tym, że próba wysłania dużej wiadomości (u mnie to było około 400 znaków) w dużej konferencji (10 osób) kończyła się niepowodzeniem. Co ciekawe, podczas używania wersji Kadu z oknem terminala, na którym wypisywane było wyjście diagnostyczne libgadu, błąd nie występował. Doszedłem w końcu do tego, że send() w gg_write_common() podczas wysyłania szóstej czy siódmej kopii wiadomości nie wyrabia, zwraca -1 i ustawia errno na EAGAIN - chyba że libgadu wypisuje jeszcze coś na terminal, czym zarabia trochę czasu. Przez to gg_send_packet() uznaje, że operacja się nie powiodła i wiadomość faktycznie nie zostaje w całości wysłana. Zrobienie najprostszej rzeczy, czyli obsługi EAGAIN w pętli w gg_write_common() naprawiło problem.
Tak sobie myślę, że gg_send_packet() powinno obsługiwać EAGAIN, prawda? Czy też powinno to się dziać na innym poziomie? Pozdrawiam, Bartosz _______________________________________________ libgadu-devel mailing list libgadu-devel@lists.ziew.org http://lists.ziew.org/mailman/listinfo/libgadu-devel