dbus: Share common initialization code for both old and new interface
This was mostly identical code that had been copied for the new D-Bus API implementation and as such, should really have been shared from the beginning. In addition, the copied code ended up generating interesting stack traces since the actual D-Bus connection was being shared even though the pointer to it was stored in two distinct data structures. The old D-Bus code ended up dispatching some D-Bus callbacks which ended up running the new D-Bus code. Since the private context pointers were mostly identical, everything seemed to more or less work, but this design was just making things more complex and potentially very easy to break.
This commit is contained in:
parent
0474686514
commit
8ddef94bd4
13 changed files with 583 additions and 875 deletions
|
@ -1040,6 +1040,7 @@ OBJS += ctrl_iface.o ctrl_iface_$(CONFIG_CTRL_IFACE).o
|
|||
endif
|
||||
|
||||
ifdef CONFIG_CTRL_IFACE_DBUS
|
||||
DBUS=y
|
||||
DBUS_CFLAGS += -DCONFIG_CTRL_IFACE_DBUS -DDBUS_API_SUBJECT_TO_CHANGE
|
||||
DBUS_OBJS += dbus/dbus.o dbus/dbus_handlers.o
|
||||
ifdef CONFIG_WPS
|
||||
|
@ -1067,6 +1068,7 @@ DBUS_CFLAGS += $(DBUS_INCLUDE)
|
|||
endif
|
||||
|
||||
ifdef CONFIG_CTRL_IFACE_DBUS_NEW
|
||||
DBUS=y
|
||||
DBUS_CFLAGS += -DCONFIG_CTRL_IFACE_DBUS_NEW
|
||||
DBUS_OBJS ?= dbus/dbus_dict_helpers.o
|
||||
DBUS_OBJS += dbus/dbus_new_helpers.o
|
||||
|
@ -1088,6 +1090,11 @@ endif
|
|||
DBUS_CFLAGS += $(DBUS_INCLUDE)
|
||||
endif
|
||||
|
||||
ifdef DBUS
|
||||
DBUS_CFLAGS += -DCONFIG_DBUS
|
||||
DBUS_OBJS += dbus/dbus_common.o
|
||||
endif
|
||||
|
||||
OBJS += $(DBUS_OBJS)
|
||||
CFLAGS += $(DBUS_CFLAGS)
|
||||
LIBS += $(DBUS_LIBS)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue