Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!ut-sally!husc6!husc7!durham From: durham@husc7.HARVARD.EDU (peter durham) Newsgroups: comp.sys.m6809 Subject: Re: Does OS9 Level 2 unlink modules after execution? Message-ID: <1682@husc6.UUCP> Date: Thu, 16-Apr-87 14:19:02 EST Article-I.D.: husc6.1682 Posted: Thu Apr 16 14:19:02 1987 Date-Received: Sun, 19-Apr-87 06:34:39 EST References: <874@vaxb.calgary.UUCP> Sender: news@husc6.UUCP Reply-To: durham@husc7.UUCP (peter durham) Organization: Harvard Univ. Science Center Lines: 27 Keywords: CoCo 3, OS9 Level 2 In article <874@vaxb.calgary.UUCP> ingoldsby@calgary.UUCP (T. Ingoldsby) writes: > >Several programs I wrote on my old OS9 Level 1 C compiler run just fine, but I >have to manually unlink them at the end of execution. Is this a bug or a >feature? Any guesses? Here's a possible answer, according to Kevin Darling's book "Inside Level II" (page 5-1-2) (summarized) If the name of the module differs from the file name the Shell read it from, the module will not be unlinked. Shell F$Loads the module, gets some header info, and F$Forks it. When it's done, Shell F$UnLoads it. F$UnLoad takes the Name of the module, and Shell will give it the name you give, such as "/d1/cmds/bob". If this file contains module "foo", Shell will, after program runs, try to F$UnLoad "/d1/cmds/bob" instead of "foo". So if you're not running them from your execution directory, they will not be unlinked. Speaking of unlinking modules... I noted that Level II for the CoCo often does not unlink device drivers/descriptors. One day I had a $3E0 link count on my hard disk descriptor. I heard this occurs with standard Level II also. Is there a fix anyone on the net knows about-- is this a problem, especially if I keep my system running so long that the link count recycles to 0? -- Peter Durham Fast______________________ Slow____________________________ CIS_______ Delphi_ durham_2@husc4.harvard.edu ...seismo!harvard!husc4!durham_2 73177,1215 PEDXING