CLEANUP: external-check: don't block/unblock SIGCHLD when manipulating the list

There's no point in blocking/unblocking sigchld when removing entries
from the list since the code is called asynchronously.

Similarly the blocking/unblocking could be removed from the connect_proc_chk()
function but it happens that at high signal rates, fork() takes twice as much
time to execute as it is regularly interrupted by a signal, so in the end this
signal blocking is beneficial there for performance reasons.
diff --git a/src/checks.c b/src/checks.c
index b925d05..51864e3 100644
--- a/src/checks.c
+++ b/src/checks.c
@@ -1552,7 +1552,6 @@
 	assert(sigprocmask(SIG_UNBLOCK, &set, NULL) == 0);
 }
 
-/* Call with SIGCHLD blocked */
 static struct pid_list *pid_list_add(pid_t pid, struct task *t)
 {
 	struct pid_list *elem;
@@ -1570,7 +1569,6 @@
 	return elem;
 }
 
-/* Blocks blocks and then unblocks SIGCHLD */
 static void pid_list_del(struct pid_list *elem)
 {
 	struct check *check;
@@ -1578,9 +1576,7 @@
 	if (!elem)
 		return;
 
-	block_sigchld();
 	LIST_DEL(&elem->list);
-	unblock_sigchld();
 	if (!elem->exited)
 		kill(elem->pid, SIGTERM);