delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2004/03/14/20:02:53

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
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" <jasonwinter AT hotmail DOT com>
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
Message-ID: <Sea2-F13cv46SQ4wpV40004e672@hotmail.com>
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019