if two-way handshake were there, then there would be no deadlock. Reason being the connection will be established in 2 handshakes (ie after SYN() and SYN() + ACKN()). After that the sender will simply send the segment but the receiver will send the negative acknowledgement as it didn’t get for the previous one (ie for SYN()+ ACKN()).