I Wrote: > Wolfgang Lenerz writes: > > > > 1 - What is a Forced Free? > <> > > 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). > > Not quite. TH_FREE is called for freeing the Thing normally, ie detatching > a User from the Thing. However TH_FFREE - the Force Free routine, is > needed when the Thing is to be removed in its entirety, eg when a job > owning the memory space the Thing resides in is removed.You would have to > supply such a routine if, for example, such a Thing contained a task linked > to one of the Task lists. > > This routine is called when sms.zthg (Zap Thing) is executed.
Ah yes. There is ambiguity here. I didnt live long in the sin of unjustified self-satisfaction: The moment my mail was irrevocably dispatched doubt descended like a brick, so Ive now gone and checked the manual ;) You are right AFA TH_FRFRE is concerned and I was wrong to mix up TH_FFREE with TH_REMOV :( The FREE-type routines relate to the Usage blocks while REMOV relates to the actual Thing. Zap is another term for force-remove. (But force-removal implies force-freeing.) The documentation is rather grainy (and perhaps in some cases wrong?) You really need a debugger to understand it. The concepts of Freeing, Removing and Zapping are not always easily untangled. I dont want to speculate in public on what I think I mean to avoid causing general confusion (and personal embarrassment) I have written a number of different Things in the past and thought I had it figured (Im sure I did!) I would however welcome some clarification by a pundit. Ditto re the wee matter I raised a month ago, or so, about parameter passing to Extension Things. Some light on that subject too would be much appreciated. Per