Subject: Re: Help with xload freaking out
To: None <michaelv@MindBender.SErv.NET>
From: Martin Cracauer <cracauer@wavehh.hanse.de>
List: current-users
Date: 11/20/1996 14:37:40
michaelv@MindBender.SErv.NET (Michael L. VanLoon -- HeadCandy.com) wrote:

>If it matters, it's a Pentium, running NetBSD/i386 1.2 (why am I
>posting to current?  Because this problem existed in current before
>1.2, and probably still exists today...)

The same problem happens for me in NetBSD-1.1/i386. The x client in
question is fvwm-1.24r. fvwm-2.x doesn't have the problem.

While fvwm doesn't emmit the message, the ktrace is very similar
(select, getitimer, ioctl 0) with the return of select with '-1 errno
22 invalid argument'. But in fvwm, there's a wait4 call that fails
with 'no child process'.

Since fvwm2 works, I looked up select(2) call differences between
fvwm-1.24r and 2.0.42.

The only call in fvwm-1.24r that fits the arguments shown by ktrace is:
around fvwm-1.24r/fvwm/events.c:1429

  /* Zap all those zombies! */
  /* If we get to here, then there are no X events waiting to be processed.
   * Just take a moment to check for dead children. */
  ReapChildren();

  XFlush(dpy);
  if((value.it_value.tv_usec != 0)||
     (value.it_value.tv_sec != 0))
    retval=select(fd_width,&in_fdset, 0, 0, &value.it_value);
   else
    retval=select(fd_width,&in_fdset, &out_fdset, 0, NULL); THIS ONE!

(I deleted the #ifdef for other platforms)

I don't have more time for now, will try to delete this code fragment
or run it under gdb.

Could you look up the programs you have trouble with for similar
constructs? 

Martin
-- 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Martin Cracauer <cracauer@cons.org> http://cracauer.cons.org Fax +49405228536
"As far as I'm concerned,  if something is so complicated that you can't ex-
 plain it in 10 seconds, then it's probably not worth knowing anyway"- Calvin