On Mon, 12 Feb 2001, Robert Watson wrote:

> On 12 Feb 2001, Dag-Erling Smorgrav wrote:
> > Jake Burkholder <[EMAIL PROTECTED]> writes:
> > > As I mentioned in the commit message, this changes the size and layout
> > > of struct kinfo_proc, so you'll have to recompile libkvm-using programs.
> > 
> > I thought the whole point with kinfo_proc was to avoid this kind of
> > situation... 
> It seems to me that kinfo_proc is the wrong solution to a real problem.
> John Baldwin and I briefly discussed, online, an alternative solution that
> breaks out the per-process information into a series of sysctl's.  This

But sysctls are the wrong solution for all problems :-).

> using base types for the fields, such as int).  kinfo_proc addresses the
> issue that the kernel and userland concepts of a proc diverge due to the
> introduction of kernel-only fields, but doesn't really address issues such
> as ordered elements of the structure changing size. 

These issues shouldn't cause problems.  You just preserve the order and
don't use any kernel structs.  Using application interface structs like
struct rusage and struct rtprio is safe enough since if they change then
you have worse problems with the binary compaitibility of the syscalls
that use them.

The errors in the recent commit were:
(1) using the kernel struct `struct priority'
(2) not preserving the old priority fields.  Point (1) wouldn't have
    caused breakage immediately if the priority fields had been copied
    to their old places.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to