Skip site navigation (1)Skip section navigation (2)
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>