Hi -
I'm having trouble understanding how glibc's fork() interacts with the proc server.
In fork.c, we call task_create (line 172 in the Debian code), then shortly thereafter we call the proc server's proc_task2proc (line 205), and no error returns are tolerated.
How do we know that the proc server knows about the task yet? It will get a notification from the kernel that a new task has been created, but how do we know that the notification has been processed yet? Is there a race condition here, or am I missing something?
I tried my new "attachable" rpctrace on bash, and have found that the shell can no longer run programs after rpctrace attaches. I get an error return on that proc_task2proc call (ESRCH - No such process), but I don't see why we shouldn't get the error return.
agape
brent