diff --git a/src/srun/job.c b/src/srun/job.c
index 61ffc9e90e8c4fd7179493e54b12649bae4bb9aa..9b7b684c6af115bf3e8264f58d1ca7785e72a3d2 100644
--- a/src/srun/job.c
+++ b/src/srun/job.c
@@ -275,7 +275,7 @@ job_force_termination(job_t *job)
 		update_job_state(job, SRUN_JOB_OVERDONE);
 	}
 
-	pthread_kill(job->ioid, SIGTERM);
+	pthread_cancel(job->ioid);
 }
 
 void job_fatal(job_t *job, const char *msg)
diff --git a/src/srun/msg.c b/src/srun/msg.c
index fce46306a7f3d6833c76a62a8012b58ad720f738..4db735f54ef130e188e1e3a69ea0e3ea55db0166 100644
--- a/src/srun/msg.c
+++ b/src/srun/msg.c
@@ -488,13 +488,6 @@ _msg_thr_poll(job_t *job)
 
 	while (1) {
 		while ((rc = poll(fds, nfds, POLL_TIMEOUT_MSEC)) <= 0) {
-#ifdef HAVE_TOTALVIEW
-			if (MPIR_being_debugged && MPIR_debug_gate &&
-			    (!sent_task_cont)) {
-				sent_task_cont = true;
-				fwd_signal(job, SIGCONT);
-			}
-#endif
 			if (rc == 0) {	/* timeout */
 				if (job->state == SRUN_JOB_FAILED)
 					pthread_exit(0);
diff --git a/src/srun/reattach.c b/src/srun/reattach.c
index 720ab6d1e0a1bb8121aa5f60089892766711630b..a522e5e8917be3ea824974c9168b66187d97d914 100644
--- a/src/srun/reattach.c
+++ b/src/srun/reattach.c
@@ -493,7 +493,7 @@ int reattach()
 		error ("Attach to job failed!");
 	}
 
-	pthread_kill(job->jtid, SIGTERM);
+	pthread_cancel(job->jtid);
 	pthread_join(job->ioid, NULL);
 
 	/* _complete_job(job); */
diff --git a/src/srun/srun.c b/src/srun/srun.c
index 616fa100eb36fdf36d0bbe39c9d24072b564bb13..ac64bfaebf4efb512ba980f18991a39c35a34d74 100644
--- a/src/srun/srun.c
+++ b/src/srun/srun.c
@@ -217,10 +217,10 @@ srun(int ac, char **av)
 	}
 
 	/* kill launch thread */
-	pthread_kill(job->lid, SIGTERM);
+	pthread_cancel(job->lid);
 
 	/* kill msg server thread */
-	pthread_kill(job->jtid, SIGTERM);
+	pthread_cancel(job->jtid);
 
 	/* wait for stdio */
 	if (pthread_join(job->ioid, NULL) < 0) {