Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com X-Originating-IP: [203.166.96.237] X-Originating-Email: [jasonwinter AT hotmail DOT com] X-Sender: jasonwinter AT hotmail DOT com From: "Jason Winter" To: cygwin AT cygwin DOT com Subject: Re: read(): varblk tape records...(& Fix for : read()) Date: Mon, 15 Mar 2004 01:02:41 +0000 Mime-Version: 1.0 Content-Type: text/plain; format=flowed Message-ID: X-OriginalArrivalTime: 15 Mar 2004 01:02:41.0646 (UTC) FILETIME=[37A120E0:01C40A29] Hi Corinna, >It's a bug in your my_read1 code. Yes, I know... I fixed it (the protection-fault) the next day, but it doesn't change the tapes behaviour. Perhaps if I rewrite the outstanding issues another way, you might be convinced to change the code even without a tape drive to test with... Strange things in CygWin: (Tape-Fixed-Block.) 1/ Read buffer pointers are being reused by the write handler. - This means writing buffer blocks might become 'staggered', by 'inserted' data from a previous read call. Rewind/Block-Seek doesn't reset these pointers either - resulting in loss of control over the tape device in some situations: Having seeked a block, if a staggered write is incomplete, the next read will fail due to a new block being written OVER the one just seeked (since the read routine flushes any leftover write data first.) 2/ Possible drive-busy signal (in WinNT) leads to incomplete API result. - This means getting drive stats while the drive is reading/writing under NT may result in the CygWin wrapper returning the BOT signal (Beginning Of Tape) even though it's currently writing that block. And calling the NT API would return the new block number if CygWin had used a cached flag instead (from when the drive wasn't busy.) Some programs fail because they expect the BOT signal to disappear. The close-filemark issue isn't really a problem, and the Win32 1101 error is being handled properly, I was just looking in the wrong file. Regards, Jason. _________________________________________________________________ Find love today with ninemsn personals. Click here: http://ninemsn.match.com -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/