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

Reply via email to