FVWM: Re: race on module-death still here

From: Mark Crimmins <markcrim_at_merv.philosophy.lsa.umich.edu>
Date: Sat, 25 May 1996 15:59:48 -0400

To follow up on myself:

I'm having problems with fvwm2 (42) racing when tkgoodstuff (my fvwm
module) stops and starts a few times).

Below I attach the strace output. The wait and select calls are
apparantly from My_XNextEvent, and the write apparently is in
FlushQueue. This code isn't transparent to me, so I'm hoping someone
will read this who knows what might be going on. Could it be that
fvwm thinks it still has to write to a pipe to a child (module) that
in fact does not exist? In the module docs it says fvwm assumes a
module has died only when it gets a read error on the read pipe. In
my traces, it looks like fvwm is trying to write and not read; is
there a bug in how fvwm knows whether modules have died?

Thanks for any advice,
Mark

>wait4(-1, NULL, WNOHANG, NULL) = 0
>select(256, [3 9 13], [12], NULL, NULL) = 1 (out [12])
>write(12, "\377\377\377\377\0\4\0\0\t\0\0\000"..., 36) = -1 EAGAIN (Try again)
>ioctl(3, FIONREAD, [0]) = 0
>wait4(-1, NULL, WNOHANG, NULL) = 0
>select(256, [3 9 13], [12], NULL, NULL) = 1 (out [12])
>write(12, "\377\377\377\377\0\4\0\0\t\0\0\000"..., 36) = -1 EAGAIN (Try again)
>ioctl(3, FIONREAD, [0]) = 0
>wait4(-1, NULL, WNOHANG, NULL) = 0
>select(256, [3 9 13], [12], NULL, NULL) = 1 (out [12])
>
>(etc.)
>
>When I kill tkgoodstuff (having killed other instances before), it
>changes to this:
>
>select(256, [3 13], [12], NULL, NULL) = 1 (out [12])
>write(12, "\377\377\377\377\0\4\0\0\t\0\0\000"..., 36) = -1 EAGAIN (Try again)
>ioctl(3, FIONREAD, [0]) = 0
>wait4(-1, NULL, WNOHANG, NULL) = -1 ECHILD (No child processes)
>select(256, [3 13], [12], NULL, NULL) = 1 (out [12])
>write(12, "\377\377\377\377\0\4\0\0\t\0\0\000"..., 36) = -1 EAGAIN (Try again)
>ioctl(3, FIONREAD, [0]) = 0
>wait4(-1, NULL, WNOHANG, NULL) = -1 ECHILD (No child processes)
>select(256, [3 13], [12], NULL, NULL) = 1 (out [12])
>write(12, "\377\377\377\377\0\4\0\0\t\0\0\000"..., 36) = -1 EAGAIN (Try again)
>ioctl(3, FIONREAD, [0]) = 0
>wait4(-1, NULL, WNOHANG, NULL) = -1 ECHILD (No child processes)
>select(256, [3 13], [12], NULL, NULL) = 1 (out [12])
>
>(etc.)
>
>Mark
>--
>Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
>To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
>message to majordomo_at_hpc.uh.edu.
>To report problems, send mail to fvwm-owner_at_hpc.uh.edu.
>
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to majordomo_at_hpc.uh.edu.
To report problems, send mail to fvwm-owner_at_hpc.uh.edu.
Received on Sat May 25 1996 - 15:36:20 BST

This archive was generated by hypermail 2.3.0 : Mon Aug 29 2016 - 19:37:59 BST