On 11/15/2011 7:43 AM, zhiguo zhao wrote:
Hi,
    I failed with this on windows with branch 2.4.x,  in a handle hook,

apr_os_thread_t t = apr_os_thread_current();
apr_os_thread_t *t1;
apr_os_thread_get(&t1,  r->connection->current_thread);
printf("EQUALS %d\n",apr_os_thread_equal(t,t1));

I think t and t1 must be equal, But it Not.

I think this is a bug, Is this?

No, it's not.

/**
 * Compare two thread id's
 * @param tid1 1st Thread ID to compare
 * @param tid2 2nd Thread ID to compare
 * @return non-zero if the two threads are equal, zero otherwise
 */
APR_DECLARE(int) apr_os_thread_equal(apr_os_thread_t tid1,
                                     apr_os_thread_t tid2);

This behavior is by design, use the designated comparator.

Reply via email to