Module Name: src Committed By: dsl Date: Sun Dec 16 22:21:03 UTC 2012
Modified Files: src/sys/kern: kern_lwp.c Log Message: The lwp_id in a process are supposed to be non-zero and unique. This stops being true once a process has allocated (and freed) 2^32 lwps. (I've not timed it!) There is also some code lurking (eg ld.elf_so) that doesn't expect the high be be set. Once the lwp_id wraps, scan the list to find the first free id higher than the last one allocated. Maintain the sort order to make the possible. Note that if some lwp (but not all) are allocated numbers from the pid space it will go horribly wrong. Tested by setting the limit to 128 and getting firefox to create threads. To generate a diff of this commit: cvs rdiff -u -r1.173 -r1.174 src/sys/kern/kern_lwp.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.