| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
name is not being really used anywhere, so remove it together with the
memset from Device.GetProperties().
icon is optional, so check if it's not NULL before adding it to the list
of device properties.
|
|
|
|
|
|
|
|
|
|
| |
Minor fixes to make setter actually work:
- Add propdata in pending_property_set
- Break loop when we are removing propdata from list and we
found it
- in_args and out_args were swapped
- interface and method name arguments were swapped
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If an interface is added and removed on the same mailoop iteration,
ObjectManager would try to send InterfacesAdded signal while running the
idler because the interface was added to data->added list.
This is easily reproduced by forcing an error path in a plugin
registration, like on sap_server_register(), resulting in the following
error:
==11795== Invalid read of size 4
==11795== at 0x496F592: dbus_message_iter_append_basic (dbus-message.c:2598)
==11795== by 0x117B39: append_interface (object.c:554)
==11795== by 0x48955E7: g_slist_foreach (gslist.c:840)
==11795== by 0x11923B: process_changes (object.c:592)
==11795== by 0x11956D: generic_unregister (object.c:980)
==11795== by 0x4973BAC: _dbus_object_tree_unregister_and_unlock (dbus-object-tree.c:516)
==11795== by 0x4965240: dbus_connection_unregister_object_path (dbus-connection.c:5776)
==11795== by 0x1178A5: object_path_unref (object.c:1219)
==11795== by 0x118517: g_dbus_unregister_interface (object.c:1344)
==11795== by 0x19AF5B: sap_exit (sap.c:385)
==11795== by 0x13E9E2: sap_server_register (server.c:1428)
==11795== by 0x13C092: sap_server_probe (manager.c:44)
With this patch we don't send the InterfacesAdded signal, removing it
from data->added while unregistering.
|
| |
|
| |
|
|
|
|
|
| |
Bonding is handled in device.c and auth_type_t is private device data
not used outside of it.
|
|
|
|
| |
Use struct btd_adapter directly to access path member.
|
|
|
|
| |
Use struct btd_adapter directly to access bdaddr member.
|
|
|
|
| |
Use struct btd_device directly to access bdaddr_type member.
|
|
|
|
| |
Use struct btd_device directly to access adapter member.
|
|
|
|
| |
This is a typo from 899e6561d284806007b7e57e1ab3b65e54be3d22.
|
| |
|
|
|
|
| |
Mark all input only bdaddr_t pointer parameters as const.
|
|
|
|
| |
Mark all input only bdaddr_t pointer parameters as const.
|
|
|
|
|
|
|
|
| |
This allow to remove number of local variables used only to get device
address and pass it as pointer later on.
bdaddr_type parameter is also removed as there is device_get_addr_type
already present which can be used to get it if needed.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Most uses of adapter_get_address were in form of:
bdaddr_t addr;
adapter_get_address(adapter, &addr);
foo(&addr);
Changing it to getter makes code simpler and avoid number of not
needed memcpy.
|
|
|
|
|
|
| |
If we are walking a GSList and remove the element we are pointing to,
the next iteration g_slist_next() will access previously freed
memory.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
==480== HEAP SUMMARY:
==480== in use at exit: 62,418 bytes in 355 blocks
==480== total heap usage: 11,134 allocs, 10,779 frees, 5,254,068 bytes allocated
==480==
==480== 16 bytes in 1 blocks are definitely lost in loss record 70 of 250
==480== at 0x4C2C04B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==480== by 0x4E80050: g_malloc (in /usr/lib/libglib-2.0.so.0.3200.4)
==480== by 0x4E94442: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.3200.4)
==480== by 0x4E95792: g_slist_append (in /usr/lib/libglib-2.0.so.0.3200.4)
==480== by 0x17E483: adapter_add_connection (adapter.c:3245)
==480== by 0x187FDF: btd_event_conn_complete (event.c:470)
==480== by 0x18B72D: mgmt_event.part.36 (mgmt.c:515)
==480== by 0x4E7A474: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3200.4)
==480== by 0x4E7A7A7: ??? (in /usr/lib/libglib-2.0.so.0.3200.4)
==480== by 0x4E7ABA1: g_main_loop_run (in /usr/lib/libglib-2.0.so.0.3200.4)
==480== by 0x1216B1: main (main.c:551)
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This reuse append_properties for GetAll and GetManagedObjects
|
|
|
|
| |
This appends the properties and its values when using ObjectManager.
|
|
|
|
|
| |
ObjectManager should be exported only in the root path and list all
the children paths.
|
|
|
|
|
| |
InterfacesAdded and InterfacesRemoved can group all the interfaces
changes together in one message.
|
|
|
|
|
|
|
|
|
| |
This implements initial support for ObjectManager, it automatically adds
objects to its parents so no action is needed by daemons to get their
objects managed by this interface.
ObjectManager is part of D-Bus spec since revision 0.17:
http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-objectmanager
|
| |
|
|
|
|
|
|
| |
Contrary to Get() and GetAll(), Set() is asynchronous so we pass an id
to the setter so later it can declare the Set() as successful or
otherwise.
|