Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!rutgers!seismo!mcnc!tas From: tas@mcnc.UUCP Newsgroups: comp.bugs.4bsd Subject: infinite loop in ftp Message-ID: <470@speedy.mcnc.UUCP> Date: Fri, 27-Feb-87 16:17:31 EST Article-I.D.: speedy.470 Posted: Fri Feb 27 16:17:31 1987 Date-Received: Sun, 1-Mar-87 10:40:48 EST Organization: Microelectronics Center of NC; RTP, NC Lines: 20 Keywords: ftp Index: ucb/ftp/main.c 4.3BSD Description: Ftp goes into an infinite loop on a stdin error. Repeat-By: Start an ftp transfer of a large file, put the ftp process in the background, log out. Log back in, wait until the file transfer is complete, note the ftp process hanging around eating up cpu time. Logging out causes subsequent stdin reads by ftp to fail, but ftp ignores the errors, so when it's done with the file transfer and goes back into the command loop, it goes into a tight loop trying to read a dead stdin. Fix: 212c212 < if (feof(stdin)) --- > if (feof(stdin) || ferror(stdin))