<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>15425</bug_id>
          
          <creation_ts>2024-03-07 12:13:01 +0000</creation_ts>
          <short_desc>Make the &apos;loaded&apos; desktop dbus signal unracey</short_desc>
          <delta_ts>2026-10-28 11:51:13 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>6</classification_id>
          <classification>Yocto Project Subprojects</classification>
          <product>Matchbox</product>
          <component>matchbox</component>
          <version>unspecified</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>Future</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ross Burton">ross.burton</reporter>
          <assigned_to name="Ross Burton">ross.burton</assigned_to>
          <cc>randy.macleod</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>No (bug/feature does not impact docs)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>98397</commentid>
    <comment_count>0</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2024-03-07 12:13:01 +0000</bug_when>
    <thetext>Currently the desktop will emit a &apos;loaded&apos; signal over dbus when its loaded, and other pieces may use dbus-wait to wait for the desktop to be loaded before doing more. Currently the keyboard does this.

It would also make sense for the runtime image testing to watch for the signal to say that the desktop is close enough to being usable.

However, as this is a one-time signal there&apos;s a huge race condition: what if the signal is fired before it is watched for?

The solution to this would be for the desktop to take ownership of org.matchbox.Desktop or similar on the bus. This can be checked at any time, and signals sent when it is acquired, so can be race-free.

For example: https://docs.gtk.org/gio/migrating-gdbus.html#owning-bus-names</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>98398</commentid>
    <comment_count>1</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2024-03-07 12:13:38 +0000</bug_when>
    <thetext>It would be sensible to change dbus-wait to support both waiting for a signal or checking if a name exists.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>