🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.amiga.tech
Article #11874

Re: Unix V7 functionality under (or along with) AmigaDOS? (*LONG*)

#11874
From: Randell Jesup
Date: Fri, 17 Mar 1989 20:44
41 lines
2702 bytes
In article <12361@microsoft.UUCP> w-colinp@microsoft.uucp (Colin Plumb) writes:
>jesup@cbmvax.UUCP (Randell Jesup) wrote:
>This isn't that hard to enlarge, but you want to get rid of the restriction
>completely.  Arrgh!  If someone would give me a complete spec for dos.library
>(basically, a list of BCPL kludges that need supporting), I could give you a
>rewrite in a month.  The silly thing doesn't *do* dick all.

	It does lots you don't see.  dos.library is a small part of it.

>> 	Two non-BCPL programs can right now.  BCPL programs use the buffering
>> fields in the file-handle, and would clash over them.
>
>You have to handle the reference-counting manually, but you can have multiple
>processes all sharing the same filehandle without problems.  The BCPL stuff
>is disgusting, and I hope it gets fixed in 1.4, 'cause owing to a lack
>of documentation, my FS is going to ignore that completely.  If someone
>tries to jump through one of those fields, boom!

	An FS is not allowed to even look at the fields of a filehandle other
than the value it stores in fh_Arg1 (or some such name) that is passed back
on read/write calls.  The rest of the filehandle is private to dos/application.
BCPL applications use the fields in there to do IO buffering, which is why
they break if they try to share a filehandle.

>But there's no way a handler can tell that two processes talking to
>it over the same filehandle aren't really one, that just has a
>strange prediliction for asynchronous I/O using multiple return
>message ports.

	Actually the killer is where you are in the file.  Also, who closes it?

>(BTW, does anyone know what AN_AsyncPkt is caused by?  Who sends an
>unexpected packet to whom?)

	dos.library.  If it gets a message at pr_MsgPort, and it's not the
packet it sent out to do a file operation coming back, it gurus with 
AN_AsynchPacket.  Typical mistake is to try to use any dos.library functions
that send packets from a handler for debugs (or anything else).

-- 
Randell Jesup, Commodore Engineering {uunet|rutgers|allegra}!cbmvax!jesup
Technical Details
Message-ID: <6325@cbmvax.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!tank!eecae!mailrus!ames!oliveb!amiga!cbmvax!jesup
References: <DEVEN.89Mar6082649@daniel.pawl.rpi.edu> <6157@cbmvax.UUCP> <6185@cbmvax.UUCP> <DEVEN.89Mar9113018@daniel.pawl.rpi.edu> <6237@cbmvax.UUCP> <12361@microsoft.UUCP>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!tank!eecae!mailrus!ames!oliveb!amiga!cbmvax!jesup
From: jesup@cbmvax.UUCP (Randell Jesup)
Newsgroups: comp.sys.amiga.tech
Subject: Re: Unix V7 functionality under (or along with) AmigaDOS?  (*LONG*)
Message-ID: <6325@cbmvax.UUCP>
Date: 17 Mar 89 20:44:30 GMT
References: <DEVEN.89Mar6082649@daniel.pawl.rpi.edu> <6157@cbmvax.UUCP> <6185@cbmvax.UUCP> <DEVEN.89Mar9113018@daniel.pawl.rpi.edu> <6237@cbmvax.UUCP> <12361@microsoft.UUCP>
Reply-To: jesup@cbmvax.UUCP (Randell Jesup)
Distribution: comp
Organization: Commodore Technology, West Chester, PA
Lines: 41