Run phase threads killed during phase jumping

While jumping from post_shutdown to reset phase, the threads in the run phase (of monitor) are getting killed.
Is there a way to not kill the thread (task_A in the below example)?

Log :

UVM_INFO  |    2054500 | my_mon | in loop waiting for posedge clk ......
UVM_INFO  |    2055000 | my_mon | in post_reset_phase
UVM_INFO  |    2055500 | my_mon | in loop waiting for posedge clk.....
UVM_INFO  |  183094500 | my_mon | in post_shutdown_phase
UVM_INFO  |  185149000 | my_mon | in post_reset_phase

(no displays from monitor after this)

// Monitor code =====>
virtual task run_phase(uvm_phase phase);
     super.run_phase(phase)
     fork 
        task_A();
     join_none
endtask : run_phase

virtual task task_A();
      while(1) begin
        `LOGN("my_mon", "in loop waiting for posedge clk");
        @(posedge clk_if.clk); 
        // some processing ...
      end
endtask

virtual task post_reset_phase(uvm_phase phase);
      super.post_reset_phase(phase);
      `LOGN("my_mon", "in post_reset_phase");
endtask
virtual task post_shutdown_phase(uvm_phase phase);
      super.post_shutdown_phase(phase);
      `LOGN("my_mon", "in post_shutdown_phase");
endtask  

// Test ===>
 function void my_test::phase_ready_to_end(uvm_phase phase);
    if(phase.is(uvm_post_shutdown_phase::get())) begin
        get_domain().jump(uvm_reset_phase::get());
    end
  endfunction