Re: [libgadu-devel] Niekonczacy sie watek w libgadu?

2009-03-21 Thread rozteck
Wojtek Kaniewski pisze:
 Tomek pisze:
 Przyszedl mi do glowy pomysl zeby napisac resolvera na qt i ustawic przy
 pomocy gg_session_set_custom_resolver() tylko jest jedno ale - w kadu
 wywolujemy gg_login() ktora przyjmuje tylko GG_RESOLVER_FORK,
 GG_RESOLVER_PTHREAD lub GG_RESOLVER_DEFAULT i dla kazdego innego zwroci
 -1. W takim razie zeby ustawic wlasnego resolvera musze ta funkcje
 przepisac u siebie z wywolaniem gg_session_set_custom_resolver() zamiast
 gg_session_set_resolver? Nie ma jakiegos 'ladniejszego' sposobu?
 
 Będzie, jak tylko dokończę funkcje gg_session_new(), gg_session_set_*()
 itp. Większość już mam napisaną, ale używalne to będzie dopiero po świętach.
 
 Tak poza tym, to której wersji to dotyczy? Zerknąłbym u siebie, bo może
 rozwiązanie okaże się proste i pisanie własnych resolverów nie będzie
 potrzebne.
 
 w.

A dalo by sie przemycic cos w stylu zalaczonej laty do trunka?

Tomasz

--
Szukasz pieniedzy? Wez podwojny limit zadluzenia w koncie direct.
 http://link.interia.pl/f20a3


custom_resolver_in_gg_login.diff
Description: Binary data
___
libgadu-devel mailing list
libgadu-devel@lists.ziew.org
http://lists.ziew.org/mailman/listinfo/libgadu-devel


Re: [libgadu-devel] Niekonczacy sie watek w libgadu?

2009-03-21 Thread Jakub Zawadzki
Hej,

On Sat, Mar 21, 2009 at 02:45:25PM +0100, rozt...@interia.pl wrote:
 A dalo by sie przemycic cos w stylu zalaczonej laty do trunka?

Psujesz ABI, aplikację robią memset(l, 0, sizeof(struct gg_login_params)),
na maszynach 64bitowych, gdy updejtniesz libgadu, a aplikacji nie 
zrekompilujesz,
to wtedy memset nie wyzeruje twojego wskaźnika.
Naszczęście nic strasznego się nie stanie.
(bo pewnie nikt nie ustala p-resolver na GG_RESOLVER_CUSTOM).

Można zaaplikować twoją łatkę i zwiększyć wersję API bibloteki.

Innym rozwiązaniem jest poświęcenie jednego int dummy na
int login_version, (albo login_size). Dzięki temu mielibyśmy kontrolę
która część struktury jest zainicjowana na pewno (a nie śmieciami ze stosu),
a która nie i nie należy jej używać.

Btw. Wojtek (bardzo) nie lubi tej strukturki, i ZTCP nie chciał jej 
rozbudowywać.
___
libgadu-devel mailing list
libgadu-devel@lists.ziew.org
http://lists.ziew.org/mailman/listinfo/libgadu-devel


Re: [libgadu-devel] Niekonczacy sie watek w libgadu?

2008-12-21 Thread Marcin Owsiany
[-wojtekka, czyta libgadu-devel]

On Sat, Dec 20, 2008 at 03:18:42PM +0100, Tomek wrote:
 Marcin Owsiany pisze:
 On Fri, Dec 19, 2008 at 06:37:38PM +0100, Tomek wrote:
 Marcin Owsiany pisze:
 On Thu, Dec 18, 2008 at 09:29:46PM +0100, Tomek wrote:
 A no i jest jeszcze jedna rzecz - skrypt configure wymaga modyfikacji 
 zeby wykrywal pthreads pod makiem - z linii 21268 configure (z 1.8.2):
 CFLAGS=-shared -fPIC -Wl,-z,defs $CFLAGS $PTHREAD_CFLAGS nalezy 
 wywalic -Wl,-z,defs inaczej pthready nie zostana wykryte
 To jest mój kod:
 
 r399 | porridge | 2005-04-28 00:35:20 +0100 (Thu, 28 Apr 2005) | 2 lines
 Changed paths:
M /trunk/m4/acx_pthread.m4
 - wyłączenie sprawdzania błędów w GCC dot. pthreads przy 
 --disable-shared i
   reorganzacja tegoż sprawdzania w acx_pthread.m4 (porridge)
 
 Komentarz nad tą linią:
 -Wl,-z,defs forces link-time symbol resolution, so that the linking 
 checks with -shared actually have any value
 Nadal wydaje mi się, że to jest potrzebne. Czy możesz podesłać 
 config.log z
 próby skonfigurowania libgadu gdy ta flaga jest jak w oryginale?
 Plik config.log znajduje sie w zalaczniku.
 configure:21272: checking whether -pthread is sufficient with -shared
 configure:21297: gcc -o conftest -shared -fPIC -Wl,-z,defs -g -O2 -Wall   
  conftest.c   5
 conftest.c:22:1: warning: GG_LIBGADU_VERSION redefined
 conftest.c:21:1: warning: this is the location of the previous definition
 conftest.c: In function 'main':
 conftest.c:31: warning: 'th' is used uninitialized in this function
 ld: unknown option: -z
 collect2: ld returned 1 exit status
 Hm, może to nie jest GNU ld, więc nie lubi -z defs?
 Chyba trzeba będzie wprowadzić podprzypadek..

 To nie jest GNU ld. Man do tej wersji ld znajduje sie np. tutaj: 
 http://developer.apple.com/documentation/Darwin/Reference/Manpages/man1/ld64.1.html

Według tej strony:

| -undefined treatment
| Specifies how undefined symbols are to be treated.  Options 
are: error, warning, suppress,
| or dynamic_lookup.  The default is error.

czyli wygląda jakby ten linker domyślnie robił to co ta flaga wymuszała.
Zresztą nawet jeśli nie, to nie mamy za bardzo wyboru - zmieniłem kod (w
trunk) tak, aby używał -Wl,-z,defs tylko gdy mamy do czynienia z GNU ld.

W moim systemie działa, a makro którego użyłem jest definiowane przez
libtoola, więc chyba nic nie popsułem.

-- 
Marcin Owsiany mar...@owsiany.pl  http://marcin.owsiany.pl/
GnuPG: 1024D/60F41216  FE67 DA2D 0ACA FC5E 3F75  D6F6 3A0D 8AA0 60F4 1216
 
Every program in development at MIT expands until it can read mail.
  -- Unknown
___
libgadu-devel mailing list
libgadu-devel@lists.ziew.org
http://lists.ziew.org/mailman/listinfo/libgadu-devel


Re: [libgadu-devel] Niekonczacy sie watek w libgadu?

2008-12-20 Thread Tomek
Marcin Owsiany pisze:
 On Fri, Dec 19, 2008 at 06:37:38PM +0100, Tomek wrote:
 Marcin Owsiany pisze:
 On Thu, Dec 18, 2008 at 09:29:46PM +0100, Tomek wrote:
 A no i jest jeszcze jedna rzecz - skrypt configure wymaga modyfikacji 
 zeby wykrywal pthreads pod makiem - z linii 21268 configure (z 1.8.2):
 CFLAGS=-shared -fPIC -Wl,-z,defs $CFLAGS $PTHREAD_CFLAGS nalezy wywalic 
 -Wl,-z,defs inaczej pthready nie zostana wykryte
 To jest mój kod:
 
 r399 | porridge | 2005-04-28 00:35:20 +0100 (Thu, 28 Apr 2005) | 2 lines
 Changed paths:
M /trunk/m4/acx_pthread.m4
 - wyłączenie sprawdzania błędów w GCC dot. pthreads przy 
 --disable-shared i
   reorganzacja tegoż sprawdzania w acx_pthread.m4 (porridge)
 
 Komentarz nad tą linią:
 -Wl,-z,defs forces link-time symbol resolution, so that the linking checks 
 with -shared actually have any value
 Nadal wydaje mi się, że to jest potrzebne. Czy możesz podesłać 
 config.log z
 próby skonfigurowania libgadu gdy ta flaga jest jak w oryginale?
 Plik config.log znajduje sie w zalaczniku.
 
 configure:21272: checking whether -pthread is sufficient with -shared
 configure:21297: gcc -o conftest -shared -fPIC -Wl,-z,defs -g -O2 -Wall
 conftest.c   5
 conftest.c:22:1: warning: GG_LIBGADU_VERSION redefined
 conftest.c:21:1: warning: this is the location of the previous definition
 conftest.c: In function 'main':
 conftest.c:31: warning: 'th' is used uninitialized in this function
 ld: unknown option: -z
 collect2: ld returned 1 exit status
 
 Hm, może to nie jest GNU ld, więc nie lubi -z defs?
 Chyba trzeba będzie wprowadzić podprzypadek..

To nie jest GNU ld. Man do tej wersji ld znajduje sie np. tutaj: 
http://developer.apple.com/documentation/Darwin/Reference/Manpages/man1/ld64.1.html

Tomek


--
Tysiace zabawnych wierszyków.Dodaj swoj
Sprawdz  http://link.interia.pl/f1fcd

___
libgadu-devel mailing list
libgadu-devel@lists.ziew.org
http://lists.ziew.org/mailman/listinfo/libgadu-devel


Re: [libgadu-devel] Niekonczacy sie watek w libgadu?

2008-12-20 Thread Tomek
Wojtek Kaniewski pisze:
 Tomek pisze:
 Jeden z uzytkownikow Kadu zglosil nam nastepujacy problem:

 Jeśli ustawie żeby kadu się na starcie nie łączyło z gg to wtedy się
 poprawnie zamyka, a jeśli połączę się z gg to wtedy nie chce się
 zamknąć. Może to ma związek z libgadu?

 PS. Raz się poprawnie zamyka po połączeniu z gg a raz nie. Ale jak się
 nie połącze z gg to zawsze się poprawnie zamyka.

 W momencie zakonczenia aplikacji glowny watek kadu sie konczy, wypisuje
 pozegnanie ale aplikacja sie nie konczy tylko zawisa. Pomaga kill -9.
 Wycofanie rewizji 636 w libgadu (czyli zamiana WNOHANG na 0 w
 wywolaniach waitpid) nie przynioslo poprawy.
 
 A co z patchem dla Mac OS X z tego weekendu? Pomaga?

Przyszedl mi do glowy pomysl zeby napisac resolvera na qt i ustawic przy 
pomocy gg_session_set_custom_resolver() tylko jest jedno ale - w kadu 
wywolujemy gg_login() ktora przyjmuje tylko GG_RESOLVER_FORK, 
GG_RESOLVER_PTHREAD lub GG_RESOLVER_DEFAULT i dla kazdego innego zwroci 
-1. W takim razie zeby ustawic wlasnego resolvera musze ta funkcje 
przepisac u siebie z wywolaniem gg_session_set_custom_resolver() zamiast 
gg_session_set_resolver? Nie ma jakiegos 'ladniejszego' sposobu?

Pozdrawiam,
Tomek


--
Wyslij wirtualna kartke swiateczna!
Klikinij  http://link.interia.pl/f1ff1

___
libgadu-devel mailing list
libgadu-devel@lists.ziew.org
http://lists.ziew.org/mailman/listinfo/libgadu-devel


Re: [libgadu-devel] Niekonczacy sie watek w libgadu?

2008-12-20 Thread Wojtek Kaniewski
Tomek pisze:
 Przyszedl mi do glowy pomysl zeby napisac resolvera na qt i ustawic przy
 pomocy gg_session_set_custom_resolver() tylko jest jedno ale - w kadu
 wywolujemy gg_login() ktora przyjmuje tylko GG_RESOLVER_FORK,
 GG_RESOLVER_PTHREAD lub GG_RESOLVER_DEFAULT i dla kazdego innego zwroci
 -1. W takim razie zeby ustawic wlasnego resolvera musze ta funkcje
 przepisac u siebie z wywolaniem gg_session_set_custom_resolver() zamiast
 gg_session_set_resolver? Nie ma jakiegos 'ladniejszego' sposobu?

Będzie, jak tylko dokończę funkcje gg_session_new(), gg_session_set_*()
itp. Większość już mam napisaną, ale używalne to będzie dopiero po świętach.

Tak poza tym, to której wersji to dotyczy? Zerknąłbym u siebie, bo może
rozwiązanie okaże się proste i pisanie własnych resolverów nie będzie
potrzebne.

w.

___
libgadu-devel mailing list
libgadu-devel@lists.ziew.org
http://lists.ziew.org/mailman/listinfo/libgadu-devel


Re: [libgadu-devel] Niekonczacy sie watek w libgadu?

2008-12-19 Thread Marcin Owsiany
On Thu, Dec 18, 2008 at 09:29:46PM +0100, Tomek wrote:
 A no i jest jeszcze jedna rzecz - skrypt configure wymaga modyfikacji 
 zeby wykrywal pthreads pod makiem - z linii 21268 configure (z 1.8.2):
 CFLAGS=-shared -fPIC -Wl,-z,defs $CFLAGS $PTHREAD_CFLAGS nalezy 
 wywalic -Wl,-z,defs inaczej pthready nie zostana wykryte

To jest mój kod:


r399 | porridge | 2005-04-28 00:35:20 +0100 (Thu, 28 Apr 2005) | 2 lines
Changed paths:
   M /trunk/m4/acx_pthread.m4

- wyłączenie sprawdzania błędów w GCC dot. pthreads przy --disable-shared i
  reorganzacja tegoż sprawdzania w acx_pthread.m4 (porridge)


Komentarz nad tą linią:
-Wl,-z,defs forces link-time symbol resolution, so that the linking checks with 
-shared actually have any value

Nadal wydaje mi się, że to jest potrzebne. Czy możesz podesłać config.log z
próby skonfigurowania libgadu gdy ta flaga jest jak w oryginale?

-- 
Marcin Owsiany mar...@owsiany.pl  http://marcin.owsiany.pl/
GnuPG: 1024D/60F41216  FE67 DA2D 0ACA FC5E 3F75  D6F6 3A0D 8AA0 60F4 1216
 
Every program in development at MIT expands until it can read mail.
  -- Unknown
___
libgadu-devel mailing list
libgadu-devel@lists.ziew.org
http://lists.ziew.org/mailman/listinfo/libgadu-devel


Re: [libgadu-devel] Niekonczacy sie watek w libgadu?

2008-12-19 Thread Marcin Owsiany
On Fri, Dec 19, 2008 at 06:37:38PM +0100, Tomek wrote:
 Marcin Owsiany pisze:
 On Thu, Dec 18, 2008 at 09:29:46PM +0100, Tomek wrote:
 A no i jest jeszcze jedna rzecz - skrypt configure wymaga modyfikacji 
 zeby wykrywal pthreads pod makiem - z linii 21268 configure (z 1.8.2):
 CFLAGS=-shared -fPIC -Wl,-z,defs $CFLAGS $PTHREAD_CFLAGS nalezy wywalic 
 -Wl,-z,defs inaczej pthready nie zostana wykryte
 To jest mój kod:
 
 r399 | porridge | 2005-04-28 00:35:20 +0100 (Thu, 28 Apr 2005) | 2 lines
 Changed paths:
M /trunk/m4/acx_pthread.m4
 - wyłączenie sprawdzania błędów w GCC dot. pthreads przy 
 --disable-shared i
   reorganzacja tegoż sprawdzania w acx_pthread.m4 (porridge)
 
 Komentarz nad tą linią:
 -Wl,-z,defs forces link-time symbol resolution, so that the linking checks 
 with -shared actually have any value
 Nadal wydaje mi się, że to jest potrzebne. Czy możesz podesłać 
 config.log z
 próby skonfigurowania libgadu gdy ta flaga jest jak w oryginale?

 Plik config.log znajduje sie w zalaczniku.

 configure:21272: checking whether -pthread is sufficient with -shared
 configure:21297: gcc -o conftest -shared -fPIC -Wl,-z,defs -g -O2 -Wall
 conftest.c   5
 conftest.c:22:1: warning: GG_LIBGADU_VERSION redefined
 conftest.c:21:1: warning: this is the location of the previous definition
 conftest.c: In function 'main':
 conftest.c:31: warning: 'th' is used uninitialized in this function
 ld: unknown option: -z
 collect2: ld returned 1 exit status

Hm, może to nie jest GNU ld, więc nie lubi -z defs?
Chyba trzeba będzie wprowadzić podprzypadek..

-- 
Marcin Owsiany mar...@owsiany.pl  http://marcin.owsiany.pl/
GnuPG: 1024D/60F41216  FE67 DA2D 0ACA FC5E 3F75  D6F6 3A0D 8AA0 60F4 1216
 
Every program in development at MIT expands until it can read mail.
  -- Unknown
___
libgadu-devel mailing list
libgadu-devel@lists.ziew.org
http://lists.ziew.org/mailman/listinfo/libgadu-devel


Re: [libgadu-devel] Niekonczacy sie watek w libgadu?

2008-12-18 Thread Tomek
Wojtek Kaniewski pisze:
 Tomek pisze:
 Jeden z uzytkownikow Kadu zglosil nam nastepujacy problem:

 Jeśli ustawie żeby kadu się na starcie nie łączyło z gg to wtedy się
 poprawnie zamyka, a jeśli połączę się z gg to wtedy nie chce się
 zamknąć. Może to ma związek z libgadu?

 PS. Raz się poprawnie zamyka po połączeniu z gg a raz nie. Ale jak się
 nie połącze z gg to zawsze się poprawnie zamyka.

 W momencie zakonczenia aplikacji glowny watek kadu sie konczy, wypisuje
 pozegnanie ale aplikacja sie nie konczy tylko zawisa. Pomaga kill -9.
 Wycofanie rewizji 636 w libgadu (czyli zamiana WNOHANG na 0 w
 wywolaniach waitpid) nie przynioslo poprawy.
 
 A co z patchem dla Mac OS X z tego weekendu? Pomaga?

Niestety okazuje sie ze mimo tego potrafi sie zawiesic :(
Co ciekawe za pierwszym razem sie nie wiesza. Jak wylacze Kadu i wlacze 
ponownie i sprobuje sie podlaczyc to zwisa. I juz potem z kazdym 
odpaleniem programu tak sie dzieje. Az do restartu.

A no i jest jeszcze jedna rzecz - skrypt configure wymaga modyfikacji 
zeby wykrywal pthreads pod makiem - z linii 21268 configure (z 1.8.2):
CFLAGS=-shared -fPIC -Wl,-z,defs $CFLAGS $PTHREAD_CFLAGS nalezy 
wywalic -Wl,-z,defs inaczej pthready nie zostana wykryte

Pozdrawiam,
Tomek


--
Wyslij wirtualna kartke swiateczna!
Klikinij  http://link.interia.pl/f1ff1

___
libgadu-devel mailing list
libgadu-devel@lists.ziew.org
http://lists.ziew.org/mailman/listinfo/libgadu-devel


Re: [libgadu-devel] Niekonczacy sie watek w libgadu?

2008-12-16 Thread Jakub Zawadzki
On Tue, Dec 16, 2008 at 06:32:08PM +0100, Tomek wrote:
 W momencie zakonczenia aplikacji glowny watek kadu sie konczy, wypisuje 
 pozegnanie ale aplikacja sie nie konczy tylko zawisa. Pomaga kill -9.

No to niech uzytkownik Kadu podczepi sie gdb pod kadu, i backtrace,
najlepiej backtrace full.
___
libgadu-devel mailing list
libgadu-devel@lists.ziew.org
http://lists.ziew.org/mailman/listinfo/libgadu-devel


Re: [libgadu-devel] Niekonczacy sie watek w libgadu?

2008-12-16 Thread Wojtek Kaniewski
Tomek pisze:
 Jeden z uzytkownikow Kadu zglosil nam nastepujacy problem:
 
 Jeśli ustawie żeby kadu się na starcie nie łączyło z gg to wtedy się
 poprawnie zamyka, a jeśli połączę się z gg to wtedy nie chce się
 zamknąć. Może to ma związek z libgadu?
 
 PS. Raz się poprawnie zamyka po połączeniu z gg a raz nie. Ale jak się
 nie połącze z gg to zawsze się poprawnie zamyka.
 
 W momencie zakonczenia aplikacji glowny watek kadu sie konczy, wypisuje
 pozegnanie ale aplikacja sie nie konczy tylko zawisa. Pomaga kill -9.
 Wycofanie rewizji 636 w libgadu (czyli zamiana WNOHANG na 0 w
 wywolaniach waitpid) nie przynioslo poprawy.

A co z patchem dla Mac OS X z tego weekendu? Pomaga?

Pozdr,
Wojtek

___
libgadu-devel mailing list
libgadu-devel@lists.ziew.org
http://lists.ziew.org/mailman/listinfo/libgadu-devel