Incorrect behaviour in rendez-vous channels
What I Did
Have a rendez-vous channel between two tasks, with sending and receiving in a select block with other selectable events.
Expected Behaviour
Implement the described behaviour of synchronized message-passing.
Observed Behaviour
Channel appears to sometimes enter deadlock situations, depending on a race condition. Initial debugging suggests that receivers (possibly via the destructor?) are making excess posts to the acknowledgement semaphore, as println-debugging shows that the semaphore count gets very high (orders of magnitude higher than the number of receivers), which nullifies the ability of the sender to use it to wait.