MINOR: threads: Be sure to remove threads from all_threads_mask on exit

When HAProxy is started with several threads, Each running thread holds a bit in
the bitfiled all_threads_mask. This bitfield is used here and there to check
which threads are registered to take part in a specific processing. So when a
thread exits, it seems normal to remove it from all_threads_mask.

No direct impact could be identified with this right now but it would
be better to backport it to 1.8 as a preventive measure to avoid complex
situations like the one in previous bug.
diff --git a/src/haproxy.c b/src/haproxy.c
index 5906f79..11d1d47 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -2473,6 +2473,8 @@
 	list_for_each_entry(ptdf, &per_thread_deinit_list, list)
 		ptdf->fct();
 
+	HA_ATOMIC_AND(&all_threads_mask, ~tid_bit);
+
 #ifdef USE_THREAD
 	if (tid > 0)
 		pthread_exit(NULL);