Use try_recv in merges
Allow signal threads to end when no-one is listening anymore