[CC'ing this to Lars, since this bug seems to have been introduced by the async DNS changes in February.] Attached is a proposed patch for Bug#23808. The patch attempts to fix the bug reported by my anonymous correspondent, who writes "It appears that before the refactoring, make-network-process would not create a process object if the socket connection failed, or if it had been interrupted by ^G. However after the new refactoring, the process object is created upfront with status 'run', before the connection is attempted. The refactoring failed to preserve the semantics."