[Top][All Lists]

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

[RP] Re: Bug#375157: ratpoison: bar show/hide apparant race condition --

From: Bernhard R. Link
Subject: [RP] Re: Bug#375157: ratpoison: bar show/hide apparant race condition --- "stuck on"
Date: Sat, 24 Jun 2006 10:30:38 +0200
User-agent: Mutt/1.5.9i

* Chris Lesniewski-Laas <address@hidden> [060623 23:51]:
> Package: ratpoison
> Version: 1.4.0.dfsg-2
> Severity: normal
> Problem: In my .ratpoisonrc, I have a hook to show me my windows while
> rotating through them:
>   addhook switchwin windows
> My bar timeout is set to the default (5).  Sometimes, after rotating
> rapidly through windows using "next" or "prev", the bar gets "stuck on"
> --- when the timeout triggers, it blinks off and then immediately turns
> back on, repeating every timeout period.  If I leave it for several
> minutes, it usually goes away by itself, or I can kill it with the
> "abort" command.  If I kill it with the "abort" command, it always comes
> back then next time I switch windows.  This is pretty annoying.
> To reproduce: try adding the same hook and rapidly rotating using
> "next".  Sorry I can't suggest a more reliable method; I haven't figured
> out exactly what triggers it.
> Possible fix: I've identified a line of code which seems very suspicious
> to me in src/actions.c, line 2642:
>   if (!hide_bar (s) || defaults.bar_timeout > 0) show_bar (s, fmt);
> The intent of the hide_bar is to deal with the bar_timeout == 0 case,
> but it runs in either case, and I suspect there is a race condition
> between the timeout alarm and the period between hide_bar and show_bar.
> I've changed the line to:
>   if ( defaults.bar_timeout > 0 || !hide_bar(s) ) show_bar( s, fmt );
> and recompiled ratpoison.  Since I've done that, I haven't been able to
> trigger the bug again, so I suspect it's fixed.

I guess the effect of this change is that a show_bar without a hide_bar
before does not reset die alarm counter, so the bar windows vanishes

I'm not able to reprodue it nor understand what part for
ratpoison could cause the window to reappear after the timeout.
Are you perhaps running some special program when this happens?

        Bernhard R. Link

reply via email to

[Prev in Thread] Current Thread [Next in Thread]