Clone signature data during thread creation
Change NULL to 0 (since they're function pointers)
Thanks Nick for pointing out the possible issue:
NULL may be (void *)0