Jung-uk Kim wrote:
I'm also sorry, but that is what I see:
typedef __int32_t __lwpid_t; /* Thread ID (a.k.a. LWP)
*/ ...
td->td_tid = alloc_unr(tid_unrhdr);
...
tid_unrhdr = new_unrhdr(PID_MAX + 2, INT_MAX, &tid_lock);
So what have I missed, where is the problem? Why td_tid is not
unique and where is the size problem?
On top of that:
/* Returning 0 is not allowed. */
return (curthread->td_tid + 1);
may actually return 0 because it can be INT_MAX. :-)
No, maximum is positive overflow. :) Actually "+ 1" is probably not
needed here as system assigns thread IDs are above process IDs and ID 0
is already busy. :)
PS: More arguments sent privately.
--
Alexander Motin
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"