KDE Bug?  or an on-purpose?
    Dave Leimbach 
    leimySPAM2k at mac.com
       
    Tue Dec 16 20:01:25 PST 2003
    
    
  
The problem with ksysguardd and also apparently kcontrol is that
they expect certain fields to exist in 
struct kinfo_proc.
These are in /usr/include/user.h I think :)
#ifndef _KERNEL
/*
 * stuff that *used* to be included by user.h, or is now needed.  The
 * expectation here is that the user program wants to mess with kernel
 * structures.  To be sure we get kernel structures we have to define
 * _KERNEL_STRUCTURES.  Otherwise we might get the user version.
 *
 * This is a really aweful hack.  Fortunately nobody includes sys/user.h
 * unless they really, really, really need kinfo_proc.
 */
KDE really really really really needs it :)
The offending line looks for a p_comm field in this structure.
if(proc_p.kp_eproc.e_ppid==ppid && p[num].kp_proc.p_comm && 
   0 == strcmp(p[num].kp_proc.p_comm, proc))
                if(pid)
                    error=true;
                else
                    pid=p[num].kp_proc.p_pid;
I am unfortunately not sure what p_comm was in FreeBSD or what the
replacement is in DragonFly.
The other field is p_runtime.  I am also not sure what the correct
solution is for this.
Dave
    
    
More information about the Kernel
mailing list