Correcting non-blocking sends to retain buffer until receives are complete