Ticket #235 (closed enhancement: fixed)

Opened 3 years ago

Last modified 3 years ago

Frameworkd blocks while

Reported by: beniwtv@… Owned by: mickey
Priority: minor Milestone: milestone5
Component: framework/oeventsd Version: milestone4
Keywords: Cc:

Description

I have a simple python script, which is executed by the oeventsd daemon when a IdleState?() occurs (defined via rules.yaml).

Within the script, I would like to ask frameworkd about some states of the battery, but the d-bus call fails with:

"dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply?: Did not receive a reply." cli-frameworkd also gets no replies if this happens.

My guess is that frameworkd waits for the command to finish, and thus can't receive any d-bus calls.

I tried adding a & after the command to no avail. After the timeout, frameworkd continues as expected, and other clients, such as cli-frameworkd get replies again.

We need a way for frameworkd to execute commands in the background to prevent blocking the whole thing if a command takes longer than expected.

Benedikt

Change History

comment:1 Changed 3 years ago by mickey

  • Status changed from new to assigned
  • Owner changed from jluebbe to mickey
  • Milestone set to milestone5

I agree.

comment:2 Changed 3 years ago by mickey

  • Status changed from assigned to closed
  • Resolution set to fixed

The CommandAction? will now spawn processes asynchronous as of [41216b7057ec7b3aa751caaacf0f7328a49f29f5].

Note: See TracTickets for help on using tickets.