HP3000-L Archives

December 2000, Week 3

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Reply To:
Date:
Wed, 20 Dec 2000 21:32:28 +0000
Content-Type:
text/plain
Parts/Attachments:
text/plain (33 lines)
At 12:58 20/12/00 -0800, Mark Boyd wrote:

>The reader calls fcontrol 45, but only if ffileinfo reports no
>writers.  The writer does not call fcontrol.

Sorry, I may have been a little glib with my previous reply.  If you get
EOF and there is a reader, this should mean that the file is full and
therefore the reading process is not able to handle the data in the file
fast enough.  If this is true, then you probably need to explore why and do
something to improve the throughput.  It may also be due to a temporary
delay, in which case you could overcome the problem by increasing the size
of the message file.

There is also the possibility of using no-wait I/O with a call to
IODONTWAIT (for a message file you don't need privileged mode).  I've never
done it using FWRITE, only FREAD, but I think it should work.

Another possibility is to check if the file is full (FFILEINFO will do
this) and only do the write if there's space (although I guess another
writer could come and clobber you before you do the write!).

In desperation you could try having the reader close and re-open the file
every so often to force the writes to return EOF.

I hope this helps.

John D. Alleyn-Day  [log in to unmask]
Alleyn-Day International Ltd.
Alleyn House, 15 Green Place, Oxford OX1 4RF, England
Tel: +44(0)7020-939408; Fax: +44(0)1865-200256
3 Friars Lane,  Mll Valley  CA 94941-3723  U.S.A.
Tel: +1-408-286-6421  http://www.Alleyn-Day.com

ATOM RSS1 RSS2