[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: pbbuttonsd: call pbbcmd in power scripts



Hi Matthias,

Matthias Grimm <matthiasgrimm@users.sourceforge.net> wrote:
> On Sun, 15 Jan 2006 13:56:00 +0000 (UTC)
> Joerg Sommer <joerg@alea.gnuu.de> wrote:
>
>> I want to increase or decrease the backlight level upon plug in and
>> unplug the power supply unit. I achieve this with a script in
>> /etc/power/event.d/. But it seams the script hangs in the call of pbbcmd.
>> Is this possible? If I enable the call I get a message "INFO: Script
>> '/etc/power/pmcs-pbbuttonsd resume ac ram' lauched but killed after 6
>> seconds". I tracked it down to the call of pbbcmd. So what might happen
>> there?
>
> It's a classic deadlock situation. Pbbuttonsd started the script which
> started pbbcmd. pbbcmd sent a message to pbbuttonsd and waited for the
> result, which won't come because pbbuttonsd waits for the script to
> terminate.
>
> But there is a solution :-) Call pbbcmd with option '-i' and it will
> immedately return without waiting for a receipt or an error code.

This does not help:

+ ltrace -t -e msgget,msgsnd,msgrcv,msgctl pbbcmd -i query TAG_LCDBRIGHTNESS
16:46:21 msgget(0x50424253, 0, 6567, 4, 0xff13dd0) = 0x210000
16:46:21 msgget(6567, 1938, 0x42000422, 4, 0xff4fecc) = 0x2a8002
16:46:21 msgsnd(0x210000, 0x7fc64588, 24, 0, 0xff4fecc) = 0
16:46:21 msgrcv(0x2a8002, 0x7fc665b8, 200, 0, 2048) = -1
16:46:21 msgrcv(0x2a8002, 0x7fc665b8, 200, 0, 2048) = -1
16:46:21 msgrcv(0x2a8002, 0x7fc665b8, 200, 0, 2048) = -1
16:46:21 msgrcv(0x2a8002, 0x7fc665b8, 200, 0, 2048) = -1
... [35 times]
16:46:25 msgrcv(0x2a8002, 0x7fc665b8, 200, 0, 2048) = -1
16:46:25 msgsnd(0x210000, 0x7fc64578, 8, 0, 0x7fc66500) = 0
16:46:25 msgctl(0x2a8002, 0, 0, 0x10002364, 0xff4fce0) = 0
Der Server antwortete nicht, Timeout.
16:46:25 +++ exited (status 1) +++

Regards, Jörg.
-- 
Die meisten Menschen wollen lieber durch Lob ruiniert
als durch Kritik gerettet werden.



Reply to: