The call activity, does it have the independent property set to false? Otherwise terminating the parent will not terminate the child (as it is defined as independent, and thus can survive even if the parent in terminated).
If this doesn't work, could you clarify how you are throwing the signal from the child process to the parent?
I think u can achive this other way around by using the decision gateway after each user activity and check if he wants to continue else exit the subprocess.
Also add a decision gateway in parent also after subprocess where it checkes if need to continue or direct end.