-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Yay! Many Thanks.
On Mon, Dec 15, 2008 at 05:05:21PM +0000, Manolo Valdes wrote: > SVN commit 897293 by mvaldes: > > apply patch-libs-ksysguard-processcore-processes_freebsd_p.cpp > to the upstream > > CCMAIL: kde-freebsd@kde.org > > > > M +40 -31 processes_freebsd_p.cpp > > > --- > trunk/KDE/kdebase/workspace/libs/ksysguard/processcore/processes_freebsd_p.cpp > #897292:897293 > @@ -78,9 +78,11 @@ > process->setTracerpid(0); > > > -#if defined(__FreeBSD__) && __FreeBSD_version >= 500015 > - process->setUid(p->ki_uid); > - process->setGid(p->ki_pgid); > +#if defined(__FreeBSD__) > + process->setEuid(p->ki_uid); > + process->setUid(p->ki_ruid); > + process->setEgid(p->ki_svgid); > + process->setGid(p->ki_rgid); > process->setName(QString(p->ki_comm ? p->ki_comm : "????")); > #elif defined(__DragonFly__) && __DragonFly_version >= 190000 > process->setUid(p->kp_uid); > @@ -96,13 +98,15 @@ > { > int status; > struct rusage pru; > -#if defined(__FreeBSD__) && __FreeBSD_version >= 500015 > - ps->setUserTime(p->ki_runtime / 10000); > +#if defined(__FreeBSD__) > + ps->setUserTime(p->ki_rusage.ru_utime.tv_sec * 100 + > p->ki_rusage.ru_utime.tv_usec / 10000); > + ps->setSysTime(p->ki_rusage.ru_stime.tv_sec * 100 + > p->ki_rusage.ru_stime.tv_usec / 10000); > ps->setNiceLevel(p->ki_nice); > - ps->setVmSize(p->ki_size); > - ps->setVmRSS(p->ki_rssize * getpagesize()); > + ps->setVmSize(p->ki_size / 1024); > + ps->setVmRSS(p->ki_rssize * getpagesize() / 1024); > status = p->ki_stat; > -#elif defined(__DragonFly__) && __DragonFly_version >= 190000 > +#elif defined(__DragonFly__) > +#if __DragonFly_version >= 190000 > if (!getrusage(p->kp_pid, &pru)) { > errx(1, "failed to get rusage info"); > } > @@ -119,22 +123,22 @@ > status = p->kp_proc.p_stat; > #endif > ps->setSysTime(0); > +#endif > > // "idle","run","sleep","stop","zombie" > switch( status ) { > - case '0': > - ps->setStatus(Process::DiskSleep); > - break; > - case '1': > - ps->setStatus(Process::Running); > - break; > - case '2': > - ps->setStatus(Process::Sleeping); > - break; > - case '3': > - ps->setStatus(Process::Stopped); > - break; > - case '4': > + case SRUN: > + ps->setStatus(Process::Running); > + break; > + case SSLEEP: > + case SWAIT: > + case SLOCK: > + ps->setStatus(Process::Sleeping); > + break; > + case SSTOP: > + ps->setStatus(Process::Stopped); > + break; > + case SZOMB: > ps->setStatus(Process::Zombie); > break; > default: > @@ -145,10 +149,7 @@ > > void ProcessesLocal::Private::readProcStatm(struct kinfo_proc *p, Process > *process) > { > -// TODO > - > -// unsigned long shared; > -// process->setVmURSS(process->vmRSS - (shared * sysconf(_SC_PAGESIZE) / > 1024)); > + process->setVmURSS(-1); > } > > bool ProcessesLocal::Private::readProcCmdline(long pid, Process *process) > @@ -184,7 +185,7 @@ > struct kinfo_proc p; > if(d->readProc(pid, &p)) > { > -#if defined(__FreeBSD__) && __FreeBSD_version >= 500015 > +#if defined(__FreeBSD__) > ppid = p.ki_ppid; > #elif defined(__DragonFly__) && __DragonFly_version >= 190000 > ppid = p.kp_ppid; > @@ -218,13 +219,18 @@ > mib[0] = CTL_KERN; > mib[1] = KERN_PROC; > mib[2] = KERN_PROC_ALL; > - sysctl(mib, 3, NULL, &len, NULL, 0); > - p = (kinfo_proc *) malloc(len); > - sysctl(mib, 3, p, &len, NULL, 0); > + if (sysctl(mib, 3, NULL, &len, NULL, 0) == -1) > + return pids; > + if ((p = (kinfo_proc *) malloc(len)) == NULL) > + return pids; > + if (sysctl(mib, 3, p, &len, NULL, 0) == -1) { > + free(p); > + return pids; > + } > > for (num = 0; num < len / sizeof(struct kinfo_proc); num++) > { > -#if defined(__FreeBSD__) && __FreeBSD_version >= 500015 > +#if defined(__FreeBSD__) > long pid = p[num].ki_pid; > long long ppid = p[num].ki_ppid; > #elif defined(__DragonFly__) && __DragonFly_version >= 190000 > @@ -294,8 +300,11 @@ > > size_t Total; > size_t len; > + > len = sizeof (Total); > - sysctlbyname("hw.physmem", &Total, &len, NULL, 0); > + if (sysctlbyname("hw.physmem", &Total, &len, NULL, 0) == -1) > + return 0; > + > return Total /= 1024; > } > > _______________________________________________ > kde-freebsd mailing list > kde-freebsd@kde.org > https://mail.kde.org/mailman/listinfo/kde-freebsd > See also http://freebsd.kde.org/ for latest information > - -- +-----------------------+-------------------------------+ | PGP : 0x05682353 | Jabber : miwi(at)BSDCrew.de | | ICQ : 169139903 | Mail : miwi(at)FreeBSD.org | +-----------------------+-------------------------------+ | Mess with the Best, Die like the Rest! | +-----------------------+-------------------------------+ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (FreeBSD) iEYEARECAAYFAklGr2IACgkQFwpycAVoI1Og1QCfY8jWd9fhOiDdehRghUkAlg0U 4DoAoJB9o2sFongJ9zJ3B02cmjg6Gyqn =WGSo -----END PGP SIGNATURE----- _______________________________________________ kde-freebsd mailing list kde-freebsd@kde.org https://mail.kde.org/mailman/listinfo/kde-freebsd See also http://freebsd.kde.org/ for latest information