h.b.furuseth@usit.uio.no writes:
Howard Chu writes:
Since there is only one thread pool in use, it is impossible for another thread to be active.
No. Though it's true that my concern above was wrong.
It is "ltp_active_count--" which triggers the start of a pause. (...)
Sorry again, I was confusing 3 problems after two long days. It's the active (unpaused) thread which would be calling _context() of course.
In any case, thank you for the reply. I know what to test now...
Another problem, which I think I'm repeating from an earlier discussion:
- TID_HASH() fails if several ldap_pvt_thread_t bit patterns can represent the same thread ID, e.g. if it is a struct/integer type with padding bytes/bits.
It might be better to let TID_HASH cast the ID to an unsigned integer type and hash that. Then it won't compile if ldap_pvt_thread_t is a struct, so we get a warning in _some_ cases when it can break.