[Pkg-mpd-maintainers] Bug#728982: mpd: protocol: commands should block

Adrian C. anrxc at sysphere.org
Thu Nov 7 22:48:18 UTC 2013


On Thu, 7 Nov 2013, Adam Lee wrote:

> Package: mpd
> Version: 0.18-1
> Severity: important
> 
> After upgrading to 0.18, I found mpd commands don't block, it should 
> be.
> 
> Take vicious's mpd widget as an example, it executes command like 
> this: echo -e 'status\ncurrentsong\nclose' |curl 
> telnet://127.0.0.1:6600
> 
> Those three commands, "status", "currentsong" and "close" should run 
> one by one, but most of times it closes before "currentsong" even 
> "status" returns, the output of "currentsong" is missing.
> 
> You can ctrl-c but not send "close" command to see the difference.


Hello, as it relates to Vicious widgets for window managers (I think in 
Debian it is a part of package 'awesome-extras') someone sent me the 
following patch this week: 

> diff --git a/widgets/mpd.lua b/widgets/mpd.lua
> index e4bcb0b..710a518 100644
> --- a/widgets/mpd.lua
> +++ b/widgets/mpd.lua
> @@ -37,10 +37,11 @@ local function worker(format, warg)
>  
>      -- Construct MPD client options
>      local mpdh = "telnet://"..host..":"..port
> -    local echo = "echo 'password "..pass.."\nstatus\ncurrentsong\nclose'"
> +    local echo = '{ echo "password '..pass..'"; echo "status";' ..
> +                  'echo "currentsong"; sleep .1; echo "close";}' 



-- 
Adrian C. (anrxc) | anrxc..sysphere.org | PGP ID: D20A0618
PGP FP: 02A5 628A D8EE 2A93 996E  929F D5CB 31B7 D20A 0618



More information about the Pkg-mpd-maintainers mailing list