anchor.diff:      (setf (active-connection interface)
             (bt:make-thread
              (lambda ()
  +             (log:info "D-Bus addresses: ~a"
  +                       (mapcar #'dbus/transport-unix::server-address-socket-address
  +                               (session-server-addresses)))
                (dbus:with-open-bus (bus (session-server-addresses))
                  (let ((status (dbus:request-name bus +core-name+ :do-not-queue)))
                    (when (eq status :exists)
  
positive.code:   (handler-case
        (dbus:with-open-bus (bus (session-server-addresses))
          ;; Dummy call to make sure dbus session is accessible.
          (log:info "Bus connection name: ~A" (dbus:bus-name bus)))
      (error ()
        (match (mapcar (lambda (s) (str:split "=" s :limit 2))
                       (str:split "
  "
                                  (uiop:run-program (list +dbus-launch-command+)
                                                    :output '(:string :stripped t))))
          ((list (list _ address) (list _ pid))
           (setf (uiop:getenv "DBUS_SESSION_BUS_ADDRESS") address)
           (setf (dbus-pid interface) (parse-integer pid)))))))
  
  (defmethod initialize-instance :after ((interface remote-interface)
  
negative.code:     (bt:condition-wait condition lock)))
  
  (defun session-server-addresses ()
    (or
     (dbus:session-server-addresses)
     ;; Check for MacOS dbus session address.
     (dbus:parse-server-addresses-string
      (format nil "unix:path=~a"
              (uiop:getenv "DBUS_LAUNCHD_SESSION_BUS_SOCKET")))))
  
  (defmethod kill-interface ((interface remote-interface))
    "Stop the RPC server."
  