W dniu 25 października 2011 00:08 użytkownik Wojtek Kaniewski
<wojte...@toxygen.net> napisał:
> Dnia 2011-10-24, pon o godzinie 13:49 +0200, Bartosz Brachaczek pisze:
>> W dniu 24 października 2011 07:28 użytkownik Wojtek Kaniewski
>> <wojte...@toxygen.net> napisał:
>> > No tak, API. To trzeba będzie zrobić warunek, że ustawienie
>> > GG_RESOLVER_CUSTOM powoduje użycie read(), a wbudowane recv(), mimo że w
>> > praktyce pewnie nikt nigdy nie korzystał z oryginalnego libgadu na
>> > Win32.
>>
>> Wówczas GG_RESOLVER_CUSTOM i tak nie będzie działać na Win32. Zdaje mi
>> się, że jedyny sposób na zachowanie kompatybilności pod Unix-like to
>> jednak ifdefy dla Win32 w tych dwóch, trzech miejscach w obsłudze
>> resolvera w libgadu.
>
> Słuszna uwaga. Zrobiłem funkcję do czytania wyniku resolvera, żeby nie
> zaśmiecać kodu ifdefami. Teraz jest tylko w jednym miejscu. Może tak
> być?

Super, myślę że czytanie z gniazd/czegokolwiek pod Win32 mamy
załatwione :). Natomiast jeszcze została podobna kwestia write() vs
send() w gg_resolver_run(), którego słusznie użyłeś w
gg_resolver_win32_thread(). Ponadto zostało wywołanie socket_pipe() w
gg_resolver_win32_start().

Mam nadzieję, że w środę napiszę te wszystkie errno-wrappery i
przetestuję całość pod MSVC (paru dodatkowych łatek jeszcze będę
musiał pewnie użyć). Przetestuję również w szczególności tego
resolvera Win32. Ale powinien działać dobrze - porównałem go wreszcie
z tym z libpurple. Wnioski wyciągnąłem takie, że wygląda czyściej i
nie powinno mu niczego brakować.

Pozdrawiam,
Bartosz
_______________________________________________
libgadu-devel mailing list
libgadu-devel@lists.ziew.org
http://lists.ziew.org/mailman/listinfo/libgadu-devel

Reply via email to