On Thu, Aug 28, 2003 at 09:25:40AM +0200, fvwm-workers wrote: > On Wed, Aug 27, 2003 at 11:33:31AM -0600, Dameron, Gregg wrote: > > > > > Setup: fvwm 2.4.16, fvwm-themes 0.6.2 on Solaris 8, > > > > > dual-head non-Xinerama. > > > > > > > > > > Since upgrading from 2.4.7, and with no substantial changes to > > > > > my config (other than converting deprecated single-letter > > > > > variables to their longer counterparts), I am seeing two > > > > > intermittent startup problems. > > [...] > > > > > 2) Failure to execute the StartFunction and InitFunction on > > > > > *one* of the displays. Fvwm2 and FvwmTheme are running, my Key > > > > > and Mouse bindings are all fine, but none of the Modules started > > > > > in StartFunction are running, nor is the process I "Exec" in > > > > > InitFunction. Happens on about one-in-ten logins. > > > > > Ctrl-Alt-Escape doesn't help; restarting is required. (On the > > > > > opposite display, everything is fine.) Any help is appreciated. > > > > > > Experimenting has given more info on this second problem: > > > > > > a) The problem is much more likely to occur when the CPU and disk are > > > under load. Under heavy load, it happens *every* login. > > > b) When the problem occurs, it's always on the fvwm instance that is > > > started first (I start each instance separately with -s and -d). > > > c) No one Module is the culprit. > > > d) Running fvwm with -debug doesn't help, and doesn't reveal any > > > errors. > > > e) When the problem occurs, I always get at least one beep (but no > > > error). > > > f) The problem *never* occurs if I delay the start of the second > > > instance (either with a short sleep, or wait until one of the first > > > instance's Modules [in StartFunction] has a PID). This suggests the > > > possibility that there is a concurrence problem [...] > > > > > > Found it. The failure is at line 1726 of fvwm/functions.c, in routine > > execute_complex_function: > > > > if (!GrabEm(CRS_NONE, GRAB_NORMAL)) > > > > so StartFunction and/or InitFunction fails. I'm guessing both fvwm > > instances are trying to grab the pointer, but one of them can't. I see > > the comment above it, so I understand the reasoning. I'm just wondering > > - should StartFunction and InitFunction perhaps be immune from pointer > > grab failures? > > At least they should wait until the pointer can be grabbed.
I've committed a patch that protects startup/shutdown function execution with a pointer grab. Ciao Dominik ^_^ ^_^ -- Dominik Vogt, [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED]
pgpxnp3FCTaiw.pgp
Description: PGP signature