annotate po/Makefile.mingw @ 15976:a6a79b8616bf

I commonly see a crash in which socket_ready_cb(), shortly after a laptop wakes from sleep, is passed invalid (previously freed) connect_data. It looks like this: Thread 0 Crashed: 0 libobjc.A.dylib 0x90a59380 objc_msgSend 16 1 Libgaim 0x0fe23bcd gaim_proxy_connect_data_disconnect 172 2 Libgaim 0x0fe23d63 socket_ready_cb 199 3 com.apple.CoreFoundation 0x90843ffd __CFSocketDoCallback 551 (objc_msgSend is how ObjC routes messages... it's being called because connect_data->cconnect_cb is invalid). It appears that when this crash happens, the socket is marked as ready just before the computer sleeps; on the next run loop, the callback will be called [socket_ready_cb()]. The computer sleeps and every account is disconnected first, which calls gaim_proxy_connect_cancel_with_handle(), destroying the connect_data. When it awakens, it calls socket_ready_cb() and the crash occurs. I've added PURPLE_PROXY_CONNECT_DATA_IS_VALID, which takes advantage of the fact that all valid connect_data objects are stored in the handles GSList, just as PURPLE_GAIM_CONNECTION_IS_VALID works.
author Evan Schoenberg <evan.s@dreskin.net>
date Sun, 01 Apr 2007 02:17:06 +0000
parents e04c98c1bce9
children ded8da3de5f8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1 # Makefile.mingw
14576
5d03b309b482 [gaim-migrate @ 17300]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14315
diff changeset
2 #
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3 # Description: Makefile to generate mo files
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
4 #
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
5
14315
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10804
diff changeset
6 GAIM_TOP := ..
15377
0e17470b47c2 Update win32 build for libpurple and pidgin renames. This compiles, but is far from complete.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14576
diff changeset
7 include $(GAIM_TOP)/libpurple/win32/global.mak
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
8
15831
e04c98c1bce9 win32 fixes for s/gaim/purple/ stuff.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15377
diff changeset
9 PACKAGE = pidgin
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
10
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
11 .SUFFIXES:
6221
580070695352 [gaim-migrate @ 6708]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3714
diff changeset
12 .SUFFIXES: .po .gmo
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
13
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
14 ##
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
15 ## SOURCES, OBJECTS
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
16 ##
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
17
6221
580070695352 [gaim-migrate @ 6708]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3714
diff changeset
18 CATALOGS = $(patsubst %.po,%.gmo,$(wildcard *.po))
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
19
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
20 ##
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
21 ## RULES
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
22 ##
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
23
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
24 .po.gmo:
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
25 rm -f $@ && $(GMSGFMT) --statistics -o $@ $<
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
26
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
27 ##
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
28 ## TARGETS
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
29 ##
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
30
14576
5d03b309b482 [gaim-migrate @ 17300]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14315
diff changeset
31 .PHONY: all install clean
5d03b309b482 [gaim-migrate @ 17300]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14315
diff changeset
32
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
33 all: $(CATALOGS)
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
34
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
35 install: all
14315
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10804
diff changeset
36 mkdir -p $(GAIM_INSTALL_PO_DIR)
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
37 @catalogs='$(CATALOGS)'; \
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
38 for cat in $$catalogs; do \
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
39 cat=`basename $$cat`; \
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
40 lang=`echo $$cat | sed 's/\.gmo$$//'`; \
14315
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10804
diff changeset
41 dir=$(GAIM_INSTALL_PO_DIR)/$$lang/LC_MESSAGES; \
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
42 mkdir -p $$dir; \
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
43 if test -r $$cat; then \
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
44 cp $$cat $$dir/$(PACKAGE).mo; \
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
45 echo "installing $$cat as $$dir/$(PACKAGE).mo"; \
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
46 else \
14315
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10804
diff changeset
47 cp $(GAIM_PO_TOP)/$$cat $$dir/$(PACKAGE).mo; \
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10804
diff changeset
48 echo "installing $(GAIM_PO_TOP)/$$cat as" \
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
49 "$$dir/$(PACKAGE).mo"; \
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
50 fi; \
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
51 done
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
52
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
53 clean:
6221
580070695352 [gaim-migrate @ 6708]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3714
diff changeset
54 rm -f *.gmo