On 15. mars 2017 14:27, Howard Chu wrote:
Not surprising when it was hashing the address instead of contents of a local variable. Whatever that intended to achieve, it looks to me like rand_r() would have done the same but better.
It was hashing the bytes of arg. In the common case of the slapd_daemon_task submitting jobs to the pool, arg was the socket descriptor of an active connection, so this was always distributing those evenly.
Duh, right. Sorry.
But in other cases where arg was a context pointer, the result was heavily skewed.