dbus noob questions

Zap Foster zap.foster at gmail.com
Thu Aug 20 04:08:31 PDT 2015


Howdy -

I am looking for various solutions for adding a new IPC mechanism to a 
very old piece of software.  I've looked at several solutions thus far, 
and someone suggested dbus.

I have several requirements, and although I could start digging and 
finding the answer myself, I was hoping to get confirmation from regular 
users.  I'm hoping the answers are the kind our legacy program likes:  
dbus looks like it could be a good fit.

1.  can the using application specify its own allocators?
For example, the app is written in C.  It has taken over the malloc/free 
mechanism, and uses a slab allocator.  Each allocation is actually a 
member of a series of page slabs, and allocations come from pools that 
are contained in slabs.  So we'd have to be able to map any and all 
object creation/destruction into our malloc/free interface.  QUESTION:  
If our application is a client of dbus, can it make debug use its 
malloc/free calls instead of the global ones?

2.  Our application is not multithreaded in the usual sense.  Each core 
gets a separate run of our application. But each application is 
single-threaded.  In our execution path, we never do things that would 
invoke ioctl() or any other specific delaying calls into the kernel.  We 
have our own device drivers, and we poll the rings for data (send/recv) 
and respond directly to devices.  QUESTION:  can we use dbus without 
incuring thread costs, and can it be used in a poll-model?

3.  With other (and current) IPC forms, we have an "IDL" where we define 
a message structure, run a code-generator over it, and use the fruit of 
the output (which are message datastructures). QUESTION:  does dbus have 
a mechanism like this for defining message payload structure?

That will get me started.  Many thanks!

-z


More information about the dbus mailing list