[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