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