DragonFly BSD
DragonFly kernel List (threaded) for 2003-12
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

KDE Bug? or an on-purpose?


From: Dave Leimbach <leimySPAM2k@xxxxxxx>
Date: 16 Dec 2003 22:01:25 -0600

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



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]