Puzzler #3 does not have much with using a half-closed socket - you still have a socket that selects as writable, but is not connected to anything.
For some reason I remember that when a process crashes the OS's TCP stack sends an RST to the opposing side, rather than a FIN, preventing puzzler #3.