On 16 Apr 2002, at 11:15, Timothy Swenson wrote: (things) Hi, just a few small answers that may point you in the right direction:
> > 1 - What is a Forced Free? > I know that you FREE a THING when an application stops using it, but I can't > find an explanation for FORCED FREE. Forced free is when the job owning the thing is removed. A thing could be set up in such a way that the linkage block is not stored in the common heap, but within the memory area of a job. When that job disapperas, so will the thing. Hence a routine to make sure that all other jobs using this thing will also disappear - that is forced free. > 2 - What is a Forced Zap? > The TT docs talk about ZAP and use the term FORCED ZAP in defining the THING > table. It looks like a FORCED ZAP is just another word for ZAP. Is this correct? Sorry, I wan't able to find where it mentiones a forced zap. A zap is normally the removal of a thing. You can force remove a thing. > 3 - Pointer to "close" routine vs. Pointer to code > In the THING table, TH_FRFRE is defined as a Pointer to "close" routine for > Forced Free, and TH_FFREE is defined as a Pointer to code to Force Free a THING. > What's the difference between the "close" routine and code for Forced Free. > Would these two pointers point to the same code or are they two unique pieces > of code that do two different operations? To me it looks like the two pointers > are redudant. TH_FRFRE is an OS supplied piece of code - don't touch it. TH_FREE is the code the thing writer supplies for a forced free (i.e. the job ownning the thing is removed). > 4 - How long is a THING name? > TH_NAME in the THING table does not seem to have a definition of how long it > should be. It is defined as a QDOS string which has a terminating character? > Is there any limitation on size? Th_name is defined as a "string" - hence the usual length word followed by the name itself (ha -so we KNOW the length of a piece of string!). There is no limit on the length other than that imposed by using a length word. (is a 32K long name long enough?) > 5 - THING Header > I'm guessing that the THING Header (as defined by TT) is part of the THING code > itself (as pointed to by TH_THING) and not part of the THING table. yes. > If so, > is the header the first bit of code in the THING? It probably isn't "code", but it is to where TH_thing points. The header is just an area of memory containing some information about the thing itself - it doesn't contain any (executable) code. > Hopefully someone will know the answers to these questions and take the time > to enlighten me. I hope I have succedded. Wolfgang
