NetworkManager/libnm
Dan Winship f9f9d297f8 libnm: fix race conditions when creating the same object twice
If two code paths try to asynchronously create the same object at the
same time (eg, because it shows up in two different properties), we
are supposed to deal with that. But at some point a race condition
appeared where we could end up returning a partially-initialized
object for one of the properties in the async case. Fix that.

Also add comments to both the sync and async cases explaining why they
work the way they do.
2014-09-17 08:21:22 -04:00
..
tests libnm: start glib-ifying NMSecretAgent APIs 2014-09-09 12:16:38 -04:00
libnm-vpn.pc.in libnm: add libnm/libnm-core (part 2) 2014-08-01 14:34:04 -04:00
libnm-vpn.ver libnm: add NetworkManager.h and NetworkManagerVPN.h to enum-types 2014-08-01 14:34:07 -04:00
libnm.pc.in libnm: add libnm/libnm-core (part 2) 2014-08-01 14:34:04 -04:00
libnm.ver libnm: start glib-ifying NMSecretAgent APIs 2014-09-09 12:16:38 -04:00
Makefile.am libnm: fix NMIP4Config/NMIP6Config addresses/routes properties 2014-09-04 09:21:05 -04:00
NetworkManager.h libnm: fix NMIP4Config/NMIP6Config addresses/routes properties 2014-09-04 09:21:05 -04:00
nm-access-point.c libnm: drop NM_TYPE_SSID, use G_TYPE_BYTES 2014-09-04 09:21:04 -04:00
nm-access-point.h libnm: drop NM_TYPE_SSID, use G_TYPE_BYTES 2014-09-04 09:21:04 -04:00
nm-active-connection.c libnm: change empty-GPtrArray-return semantics 2014-09-04 09:21:05 -04:00
nm-active-connection.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-client.c libnm: change empty-GPtrArray-return semantics 2014-09-04 09:21:05 -04:00
nm-client.h all: remove a bunch of unnecessary dbus/dbus-glib includes 2014-09-03 10:45:24 -04:00
nm-dbus-helpers-private.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-dbus-helpers.c libnm: drop NMObject:dbus-connection 2014-09-09 12:10:13 -04:00
nm-device-adsl.c libnm: make the the use of GInitable mandatory 2014-08-01 14:34:40 -04:00
nm-device-adsl.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-device-bond.c libnm: change empty-GPtrArray-return semantics 2014-09-04 09:21:05 -04:00
nm-device-bond.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-device-bridge.c libnm: change empty-GPtrArray-return semantics 2014-09-04 09:21:05 -04:00
nm-device-bridge.h trivial: remove a stray prototype 2014-08-27 13:04:04 -04:00
nm-device-bt.c libnm-core: change all mac-address properties to G_TYPE_STRING 2014-09-04 09:20:10 -04:00
nm-device-bt.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-device-ethernet.c libnm-core: change all mac-address properties to G_TYPE_STRING 2014-09-04 09:20:10 -04:00
nm-device-ethernet.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-device-generic.c libnm: make the the use of GInitable mandatory 2014-08-01 14:34:40 -04:00
nm-device-generic.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-device-infiniband.c libnm-core: change all mac-address properties to G_TYPE_STRING 2014-09-04 09:20:10 -04:00
nm-device-infiniband.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-device-modem.c libnm: make the the use of GInitable mandatory 2014-08-01 14:34:40 -04:00
nm-device-modem.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-device-olpc-mesh.c libnm: make the the use of GInitable mandatory 2014-08-01 14:34:40 -04:00
nm-device-olpc-mesh.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-device-private.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-device-team.c libnm: change empty-GPtrArray-return semantics 2014-09-04 09:21:05 -04:00
nm-device-team.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-device-vlan.c libnm-core: change all mac-address properties to G_TYPE_STRING 2014-09-04 09:20:10 -04:00
nm-device-vlan.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-device-wifi.c libnm: change empty-GPtrArray-return semantics 2014-09-04 09:21:05 -04:00
nm-device-wifi.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-device-wimax.c libnm: change empty-GPtrArray-return semantics 2014-09-04 09:21:05 -04:00
nm-device-wimax.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-device.c libnm: change empty-GPtrArray-return semantics 2014-09-04 09:21:05 -04:00
nm-device.h libnm: simplify NMDevice:state-reason 2014-09-04 09:21:04 -04:00
nm-dhcp4-config.c libnm: fix NMIP4Config/NMIP6Config addresses/routes properties 2014-09-04 09:21:05 -04:00
nm-dhcp4-config.h all: remove a bunch of unnecessary dbus/dbus-glib includes 2014-09-03 10:45:24 -04:00
nm-dhcp6-config.c libnm: fix NMIP4Config/NMIP6Config addresses/routes properties 2014-09-04 09:21:05 -04:00
nm-dhcp6-config.h all: remove a bunch of unnecessary dbus/dbus-glib includes 2014-09-03 10:45:24 -04:00
nm-ip4-config.c libnm: add missing (transfer) annotations for return values 2014-09-05 13:46:00 +02:00
nm-ip4-config.h libnm: drop libnm IP-address-array types, use G_TYPE_STRV 2014-09-04 09:21:05 -04:00
nm-ip6-config.c libnm: add missing (transfer) annotations for return values 2014-09-05 13:46:00 +02:00
nm-ip6-config.h libnm: drop libnm IP-address-array types, use G_TYPE_STRV 2014-09-04 09:21:05 -04:00
nm-object-cache.c libnm: add libnm/libnm-core (part 1) 2014-08-01 14:34:04 -04:00
nm-object-cache.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-object-private.h libnm: drop NMObject:dbus-connection 2014-09-09 12:10:13 -04:00
nm-object.c libnm: fix race conditions when creating the same object twice 2014-09-17 08:21:22 -04:00
nm-object.h libnm: drop NMObject:dbus-connection 2014-09-09 12:10:13 -04:00
nm-remote-connection-private.h libnm: add libnm/libnm-core (part 1) 2014-08-01 14:34:04 -04:00
nm-remote-connection.c libnm: drop NMObject:dbus-connection 2014-09-09 12:10:13 -04:00
nm-remote-connection.h libnm: make NMRemoteConnection an NMObject 2014-08-16 10:17:53 -04:00
nm-remote-settings.c libnm: drop NM_TYPE_OBJECT_ARRAY, use G_TYPE_PTR_ARRAY 2014-09-04 09:21:04 -04:00
nm-remote-settings.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-secret-agent.c libnm: use g_return_if_fail() in a function returning void 2014-09-10 15:00:49 +02:00
nm-secret-agent.h libnm: start glib-ifying NMSecretAgent APIs 2014-09-09 12:16:38 -04:00
nm-vpn-connection.c libnm: rename NetworkManager.h and NetworkManagerVPN.h 2014-08-01 14:34:40 -04:00
nm-vpn-connection.h all: remove a bunch of unnecessary dbus/dbus-glib includes 2014-09-03 10:45:24 -04:00
nm-vpn-plugin-ui-interface.c libnm, core, cli, tui: fix the capitalization of various types 2014-08-01 14:34:06 -04:00
nm-vpn-plugin-ui-interface.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-vpn-plugin-utils.c libnm: move declaration of NM_SETTING_SECRET_FLAGS_ALL to nm-core-internal.h 2014-08-22 15:22:16 +02:00
nm-vpn-plugin-utils.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-vpn-plugin.c libnm-core: rename NMConnection to/from_hash methods 2014-09-04 09:17:36 -04:00
nm-vpn-plugin.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-wimax-nsp.c libnm: fix NMIP4Config/NMIP6Config addresses/routes properties 2014-09-04 09:21:05 -04:00
nm-wimax-nsp.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00