random PIDs
Quoted 8 lines
Finished & tested my random PID kernel/fork.c:get_pid() replacement.
Quoted 3 lines
This one keeps track of the last N (default is 64) pids who have exited. These are then not used. So, one cannot have more then 32767 - (64 + 1 (init) + 1 (idle)) = 32761 processes :o)
DW> Huh, should be 32701, right?!
You're absolutely right. It must've been the victory trance :o)
Have you actually tried to create lots of threads?
IIRC get_pid will loop forever if it doesn't find a free pid, and in the worst case you can trigger that with ~11000 running threads.
And the current code can create multiple threads with the same pid (I never tried to trigger that bug, but it seems to be possible)
--
Manfred