[M3devel] cvsup fix refinements

Jay K jay.krell at cornell.edu
Fri Mar 19 17:01:03 CET 2010


refinements:


new public functions in m3core:


TYPE PThreadForkHandler = PROCEDURE();

<* EXTERNAL RTOS__PThreadAtFork *>
PROCEDURE PThreadAtFork(prep, parent, child: PThreadForkHandler): INTEGER;


(That's not a change yet.)


PROCEDURE SetNextForkWillExec(value: BOOLEAN);

PROCEDURE GetNextForkWillExec(): BOOLEAN;

 These are only an optimization and should
 perhaps be removed? They should be used
 under LockHeap/UnlockHeap? which wasn't previously
 public. This way, existing fork/exec paths
 not affected, though maybe though might as well
 ought to be?


could go in any of ThreadF, RTOS, RTProcess?


Should be called under RTOS.LockHeap?
  Therefore I put in RTOS.
  Also helps that RTOS is exported from *Thread.m3.
RTOS not previously public.


Should Get/Set be Inc/Dec? (therefore just Inc with +1,-1?)
 I implemented them that way: true incs, false decs.


Or don't bother with them at all?


Furthermore, in RTCollector, instead of claiming the threads
aren't started, if they were started, restart them.
This makes more sense for the weak cleaner to me, and
seems reasonable for the other two.


Diffs not yet available.


 - Jay
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20100319/e7704c74/attachment-0001.html>


More information about the M3devel mailing list