how does fork() copy threads of a process in multi-processor (SMP)