• # libdbus et multithreading

    Posté par (site web personnel) . En réponse à la dépêche Communiquer avec D-Bus en Java avec JNIDBus. Évalué à 3.

    Salut, la dernière fois que j'avais eu à utiliser libdbus, j'avais noté que la bibliothèque n'était pas thread-safe:
    https://lists.freedesktop.org/archives/dbus/2013-July/015727.html

    En 2013, Simon McVittie de Collabora écrivait :
    https://lists.freedesktop.org/archives/dbus/2013-July/015728.html

    The executive summary is "threads + libdbus = anyone's guess".
    (...)
    I'm not convinced that it's possible to give libdbus well-designed
    multi-threading without a redesign and API break, at which point you
    might as well use GDBus instead.

    Est-ce que ça a changé entre temps ? Je suppose que le fait de ne pas être thread-safe n'est pas un soucis si libdbus est utilisé dans un seul thread.

    Quand j'avais regardé, l'implémentation de libdbus est un mélange entre code bloquant et code asynchrone assez surprenant.

    De mémoire, GDBus est une autre implémentation écrite proprement sous forme de code asynchrone avec l'event loop de la glib. Ca devrait moins poser de soucis de multithreading.