[systemd-devel] sdbus errors and their underlaying int value: unique?
Carlo Wood
carlo at alinoe.com
Fri Mar 5 08:24:31 UTC 2021
On Thu, 4 Mar 2021 10:46:43 -0300
Cristian Rodríguez <crrodriguez at opensuse.org> wrote:
> On Tue, Mar 2, 2021 at 7:55 AM Carlo Wood <carlo at alinoe.com> wrote:
>
> > On Tue, 2 Mar 2021 10:40:25 +0100
> > Carlo Wood <carlo at alinoe.com> wrote:
> >
> > > I'm not writing my own C++ wrappers around sbus.
> >
> > I'm now* writing my own C++ wrappers around sbus.
> >
> >
> JUst curious..what is wrong with QTDbus.. ? I strongly suggest you
> against the path of reinventing this particular wheel.
I started off with sdbus-cpp, and that turned out to be
inflexible and not suitable for my application without
cloning their repository and making changes.
At some point I just got tired of working around issues.
One of the main reasons that I decided to completely stop
using it is because they use a mutex to make sure only
one thread enters the library at a time; which is not how
I work (I use mutexes, but don't hold them so long that
there is a reasonable risk that they are still locked
when another thread tries to lock them; at most a few
assembly instructions). But at least as important is
that is creation of new threads and/or blocking system
calls seemed completely intractable. Sdbus-cpp is doing
way more than just wrapping systemd's sdbus and most of
it I don't want.
I never considered QTDbus because well, I'm not using Qt.
I supposed that Qt had the same problems as me: wanting
to have sdbus under their own main loop control AND support
for C++ - hence being forced to write their own wrapper.
But that then (I assumed) would be Qt specific top to
bottom; using Qt stuff whenever suitable and a requiring
to have a Qt main loop. If I was mistaken at that then
that is unfortunate.
Regards,
Carlo Wood.
PS Same story for GDBus. GLib has the tendency to be
a COMPLETE solution - using glib stuff everywhere. And
I am not using glib (my library is ALSO a complete
solution by the way; with -as said before- the emphasis
on being scalable to arbitrary many cores and avoiding
any and all blocking of threads.
More information about the systemd-devel
mailing list