From owner-freebsd-current@FreeBSD.ORG Sat Dec 6 09:57:50 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8722B16A4CE for ; Sat, 6 Dec 2003 09:57:50 -0800 (PST) Received: from hak.cnd.mcgill.ca (hak.cnd.mcgill.ca [132.216.11.133]) by mx1.FreeBSD.org (Postfix) with ESMTP id 48AFA43F75 for ; Sat, 6 Dec 2003 09:57:49 -0800 (PST) (envelope-from mat@hak.cnd.mcgill.ca) Received: from hak.cnd.mcgill.ca (localhost [127.0.0.1]) by hak.cnd.mcgill.ca (8.12.9/8.12.8) with ESMTP id hB6Ht215096067; Sat, 6 Dec 2003 12:55:02 -0500 (EST) (envelope-from mat@hak.cnd.mcgill.ca) Received: (from mat@localhost) by hak.cnd.mcgill.ca (8.12.9/8.12.8/Submit) id hB6Ht2gI096066; Sat, 6 Dec 2003 12:55:02 -0500 (EST) Date: Sat, 6 Dec 2003 12:55:02 -0500 From: Mathew Kanner To: Lefteris Chatzibarbas Message-ID: <20031206175502.GB95786@cnd.mcgill.ca> References: <20031206174859.GA22714@igloo.linux.gr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20031206174859.GA22714@igloo.linux.gr> User-Agent: Mutt/1.4.1i Organization: I speak for myself, operating in Montreal, CANADA X-Spam-Status: No, hits=0.0 required=5.0 tests=none autolearn=no version=2.60 X-Spam-Checker-Version: SpamAssassin 2.60 (1.212-2003-09-23-exp) on hak.cnd.mcgill.ca cc: freebsd-current@freebsd.org Subject: Re: burncd(8) CD-RW blanking problem X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 06 Dec 2003 17:57:50 -0000 On Dec 06, Lefteris Chatzibarbas wrote: > [...] > After a little searching it seems that the program cannot get out of the > while() loop at line 198 of src/usr.sbin/burncd/burncd.c: > > while (1) { > sleep(1); > if (ioctl(fd, CDRIOCGETPROGRESS, &pct) == -1) > err(EX_IOERR,"ioctl(CDRIOGETPROGRESS)"); > if (pct > 0 && !quiet) > fprintf(stderr, > "%sing CD - %d %% done \r", > blank == CDR_B_ALL ? > "eras" : "blank", pct); > if (pct == 100 || (pct == 0 && last > 90)) > break; > last = pct; > } > > The pct variable is always 0, even after the blanking of the CD-RW is > finished (according to the device's LEDs), so the program falls into an > infinite loop. > > Of course, hitting ^C exits burncd... > > Does anyone else has this problem? Is it specific to my CD-R/RW device? I have the exact same problem. It stays stuck in the loop because ioctl(fd, CDRIOGETPROGRESS, &pct) pct is always 0. --Mat -- It's impossible to awaken a man who is pretending to be asleep. - Navajo saying