svn commit: r184558 - head/sys/dev/acpica/Osd
Alexander Motin
mav at FreeBSD.org
Mon Nov 3 09:36:45 PST 2008
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
More information about the svn-src-all
mailing list