keep listen_socket separate from socket
was using the same record field to temporarily hold the listen
socket reference, replaced with the accept socket once it has been
accepted. if accept fails, however, then listner socket was still
referenced in the record, and the listener socket was being closed
on termination (which triggered cleanup)
REF T1345