go back to atomic send/recv

decoupling the two is not correct