XBMC appears to block external LIRC
#1
I've been using the scripts and LIRC configs posted here to start/stop XBMC using my MCE remote control for months. As of a few days ago, starting XBMC via the remote works but killing it no longer does. It's like XBMC is blocking the commands from running through irexec.

With XBMC running, when I hit the "DVD" button on my remote (mapped to my killXBMC script) irw does show the button being pressed, but the kill script never actually runs until XBMC is completely closed. I verified this by adding a simple touch in the script itself-- it never runs. As soon as the XBMC process is shutdown, the kill script runs, but obviously is of very little use at that point.

Any ideas what changed? Can it be fixed? XBMC does lock up from time to time and being forced to get up off my couch, walk to the computer, SSH in, and kill the process by hand isn't terribly attractive.
Reply
#2
After a few more minutes of debugging, I believe I've solved the problem. It looks like LIRC's irexec was changed to queue up executions indefinitely if the command isn't followed by a & to escape out. So the fix is quite simply to add that &. Annoying!

Code:
# Start XBMC
begin
prog = irexec
button = RecTV
config = /home/sam/scripts/startXBMC.sh &
end

# Kill XBMC
begin
prog = irexec
button = DVD
config = /home/sam/scripts/killXBMC.sh &
end
Reply
#3
At the risk of stating the obvious, why not just update Lircmap.xml to have XBMC kill itself cleanly when pushing the DVD button?

Is it also possible that killXBMC.sh was doing the job it was coded for but the behaviour of the script meant it looked like it wasn't - I had something similar along those lines.
Reply
#4
I primarily use the kill script when XBMC locks up, so that wouldn't work.

The script worked fine, lirc just queued up events like I said.
Reply

Logout Mark Read Team Forum Stats Members Help
XBMC appears to block external LIRC0