Subject: Re: curproc removal (NFS, ...)
To: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
From: Jonathan Stone <jonathan@dsg.stanford.edu>
List: tech-kern
Date: 05/25/2004 13:21:14
In message <1085467157.743699.427.nullmailer@yamt.dyndns.org>,
YAMAMOTO Takashi write:

Yamamoto-san,

Here's a much shorter way to focus on the problem.

Suppose you wish to call soreceive(). Suppose the socket you want to
pass to soreceive() might be a PF_UNIX socket (maybe it is, maybe it
isn't, but you cannot say for sure ahead of time).

Your call to soreceiv() might therefore call (*pr->pr_dom->dom_externalize)().
For PF_UNIX sockets (the only non-NULL dom_externalize?), that means
calling unp_externalize().  unp_exernalize() now requires a valid struct proc *,
in place of the curproc it used to grab.

We have agreed not to go back to using use curproc.  How, then, would
you suggest we pass the necessary struct proc * to soreceive(), so it
can pass it onto pr->pr_domain->dom_externalize?