No, TCP ACK has nothing to do with this. All that matters is when the NIC has completed DMA'ing the packet. At that point, userspace can be unblocked.
Non-blocking sockets only make sense when there's an intermediate buffer.
Non-blocking sockets only make sense when there's an intermediate buffer.