Subject: Re: removing duplicated code from compat version of sys_waitsys
To: None <tech-kern@netbsd.org>
From: David Laight <david@l8s.co.uk>
List: tech-kern
Date: 02/13/2003 19:06:07
Well, I received 1 comment, about the format of a comment and
the suggestion that there should be man 9 pages.

I presume that means no one is worried :-)

Shall I commit them before they get stale?

	David

On Tue, Feb 04, 2003 at 04:03:06PM +0000, David Laight wrote:
> The code of sys_waitsys() is replicated in 5 different parts of the
> kernel source.  The routine in non-trivial and it is quite easy for
> the routines to get out of sync - as indeed they are at the moment.
> 
> The change below splits syswait_sys() into 3, only the smaller
> part has to be replicated in the 'compat' routines.
> 
> The 2 new routines are:
>     int find_stopped_child(struct proc *, pid_t, int, struct proc **);
> which searches for a child process in an appropriate state, and:
>     void proc_free(struct proc *);
> which frees all the data areas associated with a process after it is
> finished with.
> 
> I'm fairly happy that the standard sys_waitsys() if fine, however
> I can't test the compat versions so it would be useful if someone
> would volunteer.  In particulat compat/irix only applies to sgimips,
> compat/netbsd32 and compat/svr4_32 to sparc64 and I don't have
> any binaries for compat/svr4.
> 
> A job control shell probably tests the important paths - the most
> likely errors are (as always) inverted comparisons.
> 
> Oh, christos thinks this is a good idea :-)
> 
> These diffs make the changes look much worse than they actually are...

-- 
David Laight: david@l8s.co.uk