SIGEV_THREAD_INIT macro

I was just noticing that the SIGEV_THREAD_INIT macro sets segev_notify to
SIGEV_INTR, instead of SIGEV_THREAD. Is that the correct behavior?

Also with this question is a typecasting question. When I set
segev_notify_function equal to my function, I get a type cast error (from
“gcc -Wall”):

warning: assignment from incompatible pointer type

My function returns void * and takes void *, as specified by the type cast
for sigev_notify_function.

Am I missing something here?

Thanks!