Dnia 2011-05-12, czw o godzinie 15:29 +0200, Tomasz Wasilczyk pisze: > znalazłem małego buga w kodzie odpowiadającym za pobranie adresu > serwera z huba. Mianowicie, jeżeli wystąpi błąd w połączeniu, libgadu > zinterpretuje to, co dostanie jako adres serwera. Jeżeli więc nic nie > dostanie, będzie próbował szukać adresu hosta "", lub łączyć się z > 255.255.255.255.
Łatę zmieniłem odrobinę, żeby zwracała błąd niedostępnego serwera (czyli błąd wynika z tego, co serwer wysłał) zamiast błędu połączenia z nim. > Inny problem związany z tym ticketem: gg_read_line() otrzymało z > funkcji read() odpowiedź 11, czyli EAGAIN. W związku z tym powinien > próbować dalej, a nie wchodzić do ifa "error on read". Ktoś mi może to > wytłumaczyć? Gdzieś wyczytałem, że "prawdziwe" wartości błędów są > przeciwnego znaku, ale w tym logu kod błędu był przecież dodatni. Tutaj już Jakub wyjaśnił. Rozwiązanie z ignorowaniem EAGAIN jest głupie, bo aplikacja niepotrzebnie się kręci w pętli, ale póki co, działa. > I jeszcze jedna uwaga: z tego, co widzę, to libgadu nie pozwala > odróżnić problemów z hubem od problemów z połączaniem z serwerem > docelowym. Można by było wtedy w razie problemów z hubem łączyć się > np. z ostatnim zapamiętanym przez aplikację serwerem. A może coś > takiego już jest, tylko ja tego nie widzę? Dodatkowy kod błędu GG_FAILURE_COŚTAM_HUB by Ci wystarczył? Pozdr, Wojtek _______________________________________________ libgadu-devel mailing list [email protected] http://lists.ziew.org/mailman/listinfo/libgadu-devel
