Path: utzoo!attcan!uunet!cbmvax!carolyn
From: carolyn@cbmvax.UUCP (Carolyn Scheppner CATS)
Newsgroups: comp.sys.amiga.tech
Subject: Re: Reentrant Lattice C code
Message-ID: <4455@cbmvax.UUCP>
Date: 9 Aug 88 23:32:24 GMT
References: <3025@cs.utexas.edu> <4373@cbmvax.UUCP> 
Reply-To: carolyn@cbmvax.UUCP (Carolyn Scheppner CATS)
Organization: Commodore Technology, West Chester, PA
Lines: 38

In article  limonce@pilot.njin.net (Tom Limoncelli) writes:
>>
>>[ Much deleted about making your code reentrant by having no globals,
>>etc ]
>>
>
>You are talking about reentrant code, right?  Not resident?  I would
>hate to have to go through all that to make my stuff "pure".  (I'm one
>of the few people in the world without an illegal copy of 1.3 gamma
>99999 )-: )
>
>Could someone go over what it takes to make code RESIDENT?  I was
>sort-of-hopeing that most well-behaved programs that don't modify
>string constants (that are in the code segment), etc should work...
>right?

The Amiga 1.3 Workbench resident command just loadsegs the code and
sticks it on the DOS resident list.  It does not attempt to clone
data segments or do anything similar since it would be quite
impossible with unknown code generated by an unknown compiler or
assembler.

i.e. - If you want your program to work with Amiga RESIDENT, either
       YOU or your compiler must make that code pure.  So pure that
       it is re-executable, reentrant, etc.  So that lots of tasks 
       could all use that code at the SAME time with no problem.

I am providing a way for YOU to write pure code NOW.
Your compiler might offer something better which is compiler-specific.
If so, use it.

-- 
==========================================================================
  Carolyn Scheppner -- CATS  Commodore Amiga Technical Support
  PHONE 215-431-9180   UUCP  ...{uunet,allegra,rutgers}!cbmvax!carolyn 

 If you find my mind, please email it to me.  I seem to have mislaid it.
==========================================================================