In reply to warnerrs:
I know i can also use "disable fork" but i need to add extra "fork being end join" which i would like to learn other options so i don't need to put two fork in my code to avoid disable fork kills sub-child thread, so i would like to understand more on how to proper use process class.
Another follow up question I have that can't used "disable fork" when using "fork join_none".
In below pseudo code, when condition is true inside task proc1, i want to kill current thread of task proc2 forever loop.
But once p is killed, it seems like entire forever loop is killed inside proc2. how do i fix it so i only kill the current thread of proc2 but it will create a new thread again in next forever iteration?
task run_phase(uvm_phase phase);
if ((p !=null) && p.status !=process:: FINISHED) p.kill();
p = processs:self();