annotate po/Makefile.mingw @ 31070:b39b6d0008c5

upnp: Asynch-ronize the callbacks from UPnP to calling code. Refs #12387 I have no idea if this will resolve the crashes, but with the help of the packet capture, I /think/ these are correct. Short summary: it's possible for the callback to fire (and ar be freed) before the top-level function (purple_upnp_cancel_port_mapping) returns, even though cancel_port_mapping returns the now-invalid ar (which may lead to a subsequent use-after-free). At least one call path through the code that I think leads to this (backed up by one of the debug logs I looked at): purple_upnp_cancel_port_mapping(...) do_port_mapping_cb (has_control_mapping == TRUE, ar->add == FALSE) purple_upnp_generate_action_message_and_send(..., done_port_mapping_cb, ar) /* We fail to parse the URL (see some debug logs) */ done_port_mapping_cb ar->cb(FALSE, cbdata) return; return; return; return ar; ...and something which calls: do_port_mapping_cb(has_control_mapping == TRUE, ar->add == TRUE) ar->cb(FALSE, cbdata) g_free(ar) return;
author Paul Aurich <paul@darkrain42.org>
date Tue, 28 Dec 2010 05:37:20 +0000
parents ded8da3de5f8
children aaaff38e144f
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
16039
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15830
diff changeset
6 PIDGIN_TREE_TOP := ..
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15830
diff changeset
7 include $(PIDGIN_TREE_TOP)/libpurple/win32/global.mak
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
8
15830
e04c98c1bce9 win32 fixes for s/gaim/purple/ stuff.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15376
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
16039
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15830
diff changeset
36 mkdir -p $(PURPLE_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$$//'`; \
16039
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15830
diff changeset
41 dir=$(PURPLE_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 \
16039
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15830
diff changeset
47 cp $(PURPLE_PO_TOP)/$$cat $$dir/$(PACKAGE).mo; \
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15830
diff changeset
48 echo "installing $(PURPLE_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