initctl: emit --no-wait should not wait

Bug #324890 reported by keesj
2
Affects Status Importance Assigned to Milestone
upstart
Fix Released
Low
Scott James Remnant (Canonical)

Bug Description

in upstart 0.5 and upstart 0.5.1 the support for the --no-wait option of emit has apparently gone missing.
what more can I say?

Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

I think that Casey simply didn't implement this yet

Changed in upstart:
importance: Undecided → Low
status: New → Triaged
summary: - initctl emit --no-wait should not wait
+ initctl: emit --no-wait should not wait
Revision history for this message
keesj (keesj) wrote :

My proposal to fix this feature is to add an additional parameters to the dbus call
called "sync"

the xml interface would look like this and a sample implementation is attached. This implementation only takes care of the
emit --no-wait but there are more places where this should happen.

    <!-- Event emission -->
    <method name="EmitEvent" nih:object="async">
      <arg name="name" type="s" direction="in" />
      <arg name="sync" type="b" direction="in" />
      <arg name="env" type="as" direction="in" />
    </method>

if the chosen approach is "OK" we can create a new patch

Revision history for this message
keesj (keesj) wrote :
Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

There's no real reason to do things this way, you can simply send the method call and never wait for its reply. The only issue there is that you wouldn't get error messages either

Changed in upstart:
status: Triaged → Fix Committed
Changed in upstart:
milestone: none → 0.6.0
Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :
Download full text (6.7 KiB)

This has been fixed in Upstart 0.6.0.

0.6.0 2009-07-09 "How appropriate, you fight like a cow"

 * The licence for Upstart has been changed back to version 2 of the
   GNU GPL.

 * D-Bus 1.2.15 is now required, this is the current GIT HEAD
   pending a 1.2.16 release.

 * Configuration paths have changed. Global configuration now
   resides in "/etc/init.conf" while jobs are now configured in
   "/etc/init"

 * Job configuration filenames must now end in ".conf"

 * Default configuration files are now supplied in the "conf"
   sub-directory of the source, and installed into "/etc/init".

   These match the Debian/Ubuntu sysvinit configuration so may
   require some tweaking for other distributions, but provide an
   excellent base.

   The old example-jobs tarballs are deprecated.

 * The D-Bus interface remains unstable, to reflect this the current
   interface name has changed to "com.ubuntu.Upstart0_6" and the
   name of the job and instance interfaces have changed to match.

 * The "EmitEvent" D-Bus method gains a wait argument, when given
   as TRUE (the recommended setting) the method call will be blocked
   until all effects of the event have finished. When FALSE the
   method call will return once the event has been queued.

 * The "Start", "Stop" and "Restart" D-Bus methods of jobs and
   instances gain a similar wait argument.

 * The Upstart D-Bus object now has "version" and "log_priority"
   properties. The former is to obtain the version of the init daemon,
   the latter allows you to obtain and change the logging priority.

 * Job D-Bus objects now have "name", "description", "author" and
   "version" properties to obtain the job name and the contents of
   the equivalent job file fields for the others.

 * Instance D-Bus objects now have "name", "goal", "state" and
   "processes" properties to obtain the instance name, goal, state
   and list of running processes and their pids respectively.

 * The default D-Bus security policy now permits use of the "Get"
   methods by all users, including obtaining values of properties.

 * initctl has been rewritten with functionality more along the
   lines of Upstart 0.3.x than before; since many distributions are
   still shipping 0.3.x the summary of changes for the tool reflects
   both changes from 0.3.x and 0.5.x

 * The global "-p"/"--pid" argument has been dropped, since
   communication is over D-Bus. New "--system" and "--dest" arguments
   have been added to force communication over the system bus, and
   specify the destination, instead of using the private socket (this
   is the default when run as non-root to permit "list" and "status"
   to work for ordinary users).

 * The "-i"/"--id" and "--show-ids" options to commands have been
   dropped since jobs no longer have ids.

 * Since instances may now have names, these will be displayed in
   brackets after the job name when one is present. The output of
   the goal and state are now expressed as "start/running" instead
   of "(start) running" to disambiguate.

 * initctl "start" and "stop" now only output the final state of
   the job, not inte...

Read more...

Changed in upstart:
assignee: nobody → Scott James Remnant (scott)
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.