In most cases the computation of
isokendpt(endpt, &proc_nr)
is evaluated like this:
*proc_nr = _ENDPOINT_P(endpt)
where _ENDPOINT_P is defined by
#define _ENDPOINT_P(e) \
((((e)+NR_TASKS) % _ENDPOINT_GENERATION_SIZE) - NR_TASKS)
NR_TASKS = 4
_ENDPOINT_GENERATION_SIZE = 4 + SELF + 1
_ENDPOINT_P(e) = ( (e + 4) % (SELF + 5) ) - 4
Proc number =
endpoint _ENDPOINT_P(endpoint)
Process manager's 0
File System server 1
Reincarnation server 2
init 7
emacs 71089 (71093 % 35539) - 4 = 11
* SELF (SELF + 4) % (SELF + 5) - 4 = SELF
emacs process is at entry 11 of the mproc table
emacs process is at entry 15 of the proc table
* The formula for SELF yields SELF, but it is neither a valid endpoint
or a valid process number.