Date: Fri, 11 Oct 1996 23:04:19 +0000 From: Gary Jennejohn <garyj@munich.netsurf.de> To: Poul-Henning Kamp <phk@critter.tfs.com> Cc: freebsd-current@freebsd.org Subject: Re: invalid return value from sysctl_kern_proc ? Message-ID: <199610112304.XAA06498@peedub.gj.org> In-Reply-To: Your message of "Fri, 11 Oct 1996 20:36:14 %2B0200." <407.845058974@critter.tfs.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Poul-Henning Kamp writes: >In message <199610111957.TAA05925@peedub.gj.org>, Gary Jennejohn writes: [cruft deleted] >>I ask because sysctl isn't returning an error when I try to get the proc >>struct for a non-existent process. Seems to me that it should. > >Well, it does, you don't get any data back. > >sysctl doesn't return error for things in the data domain it handles, >only errors about the handling. > thanks alot, Poul-Henning ! this means that this code from kvm_getprocs in libkvm is wrong. if (size % sizeof(struct kinfo_proc) != 0) { _kvm_err(kd, kd->program, "proc size mismatch (%d total, %d chunks)", size, sizeof(struct kinfo_proc)); return (0); } sysctl will set size = 0 if it can't find the requested data. This should probably read if (!size || size % sizeof(struct kinfo_proc) != 0) { ^^^^^^^ I used the code from libkvm, which didn't work as I expected it to. --- Gary Jennejohn Home - Gary.Jennejohn@munich.netsurf.de Work - gjennejohn@frt.dec.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199610112304.XAA06498>