Subject: Re: Patch for reliable rcs on win95
From: [email-masked] (Jim Balter)

19 Mar 1997 21:24:46 -0800
Approved: [email-masked]
Distribution: cygnus
Message-ID: <[email-masked]>
References: <[email-masked]>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Mailer: Mozilla 3.01Gold (WinNT; I)
Original-To: Mikey <[email-masked]>
Original-CC: Sergey Okhapkin <[email-masked]>, cygnus <[email-masked]>
Original-Sender: [email-masked]

Mikey wrote:
> 
> All of my filesystems are mounted as binary, as I mentioned in my orig
> post.
> 
> This has nothing to do with CR/LF. it's just the way win95 works, (at least
> for Ron and I).

I'm not sure about your problem, but Ron's realaudio problem was
definitely a consequence of the fact that
winsup/fhandler.cc/fhandler_base::read (not Win95) does short reads
when in text mode.

> I do have a funky Neptune motherboard,

It's most likely code, not motherboards.

> but linux dosen't
> exibit this behaviour, or maybe linux is smart enough to handle it.

linux definitely is speced not to do short reads on disk files.
But then, so is win95.

> also I tested rcs (only one of the files that was giving me problems) under
> DOS 6.22 djgpp, and it seemed to work fine, so I can only conclude that
> it's 95's problem.

Wrongo; with many moving parts one can never say "only conclude"
until the source of the problem is demonstrated.  To conclude that
its a win95 problem, you would have to show it on bare win95 with
no cygwin.dll or RCS or stdio ... in between.

> > > 921 = read(3, 0x4683004, 1024)  << short read
> > > write (4, 0x4683004, 1024)  << ignored

That's very odd, since there are no writes in RCS that ignore
the return code from read, certainly not the one in rcsutil.c/fastcopy
unless you've changed the code.

The cause of this problem remains unknown, but fhandler_base::read
definitely does short reads in text mode.  Maybe something somewhere
is doing open(O_TEXT) or an fopen("t"), which overrides mount -b.
Also, pipes can be in text mode even when all the mounts are in
binary mode, and can produce short reads even in binary mode and
even on unix systems.  Programs that assume that read fills the buffer
are programs with bugs.  But RCS does not _appear_ to have such a bug.

--
<J Q B>
-
For help on using this list, send a message to
"[email-masked]" with one line of text: "help".