I've read this thread because I was also wondering what the endpoint_p
thing is all about
I understand there are process id's, process numbers, pointers to proc
structs in the proc table, and endpoint_p...would someone please
explain to me in more detail how all these are related to one another?
Thanx in advance!!!
> I've read this thread because I was also wondering what the endpoint_p
> thing is all about[/color]
A relevant past post is:
> I understand there are process id's, process numbers, pointers to proc
> structs in the proc table, and endpoint_p...would someone please
> explain to me in more detail how all these are related to one another?[/color]
A 'process id' or 'pid' is a userland phenomenon, maintained by PM.
Only used for PM to identify processes with to user processes, and for
user processes to identify processes with to PM. (Specifically, the usual
unix system calls that take or return a pid.)
Endpoints are maintaned by the kernel, and perform the same function
as pids (see post linked above) to system processes (drivers and
servers). Specifically, kernel calls (made to the SYSTEM process)
that need to identify processes do so by giving endpoint numbers.
As to why there are both pids and endpoint numbers performing the
same kind of function, see this post:
The original poster said 'endpoint_p' but must have meant 'p_endpoint'
in the proc structure. The p_endpoint field in the proc structure
contains the endpoint number (identifying a process to the kernel)
for that process.
Previously (before 3.1.2a), slot numbers were used to identify
processes, but it happens too easily that processes get messages
meant for processes that were in that slot previously. Perhaps
that's what you meant by process numbers?
Pointers to entries in the proc table also serve to identify
processes, but this entirely internal to the kernel of course.