home *** CD-ROM | disk | FTP | other *** search
- Path: comma.rhein.de!serpens!not-for-mail
- From: mlelstv@serpens.rhein.de (Michael van Elst)
- Newsgroups: comp.sys.amiga.programmer
- Subject: Re: opening muimaster.library from another lib
- Date: 7 Jan 1996 19:35:41 +0100
- Organization: dis-
- Message-ID: <4cp3pt$dce@serpens.rhein.de>
- References: <621.6574T1181T1758@xs4all.nl> <30e9e646@lls.se> <699.6577T179T1076@xs4all.nl> <4cm4ao$1ub@serpens.rhein.de> <882.6580T131T1213@xs4all.nl>
- NNTP-Posting-Host: serpens.rhein.de
-
- muaddib@xs4all.nl (thomas) writes:
-
- >1) Where can I obtain the specification for AmigaOS shared libraries,
- > I could not find it in the romkernels, autodocs or developer kit.
-
- Well. I don't think that it is written as such. But if you read
- the RKRMs you will find a description on how libraries work and what
- is allowed where. This is authoritative until superceded.
-
- >2) Why does the example shared library example in the romkernel open
- > dos.library in it's init code. It might be always resident for
- > the current kickstarts, but this could change, and, above all,
- > why be inconsequent and open the dos.library there and all other
- > libraries the library needs in libopen. I find this really
- > the style of a c0d3r, whatever that may be.
-
- The specification does not forbid opening of libraries. It does forbid
- to break single-threadedness which is achieved by Forbid(). The example
- _assumes_ that opening dos.library does not break a Forbid(), that's
- why it is a bad example. You could also treat it as the statement that
- opening dos.library will never break Forbid(). In any case this is
- just guessing on your part. Following the rule is therefore playing on
- the safe side.
-
- I mean, what will happen if you follow the rule (which says: don't break
- Forbid(), it also says: you must not rely on being single-tasked but just
- single-threaded) ? It means that you will never break when the Forbidden
- state is necessary and you will never break when you aren't singled-tasked
- any more.
-
- What will happen if you ignore the rule ?
-
- I see one reason why this rule might be relaxed in the future. AREXX opens
- and closes each library for each statement. If you allocate resources
- (like other libraries) in the open routine and free them in the close routine
- then this generates a much higher overhead, especially when allocating a resource
- implies some disk access. But I'd rather fix this behaviour in AREXX.
-
- Regards,
- --
- Michael van Elst
-
- Internet: mlelstv@serpens.rhein.de
- "A potential Snark may lurk in every tree."
-